From 2decb2f49367856014a091016bfadbdbb06ac9b6 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 22 Jun 2026 10:24:23 +0000 Subject: [PATCH] =?UTF-8?q?feat(ogar/bridges):=20WoaBridge=20+=20SmbBridge?= =?UTF-8?q?=20+=20OdooBridge=20=E2=80=94=20close=20the=20planner=E2=86=92E?= =?UTF-8?q?RP=20convergence=20chain?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Operator value statement 2026-06-21: "in the end planning (openproject) and ERP (odoo, YOU) should become reusable ontologies so that the planner times can align with billable hours". OGAR PR #93 (WoaPort + SmbPort) and PR #94 (OdooPort) landed the canonical port specs; this PR ships the lance-graph-side type aliases that connect those ports to the existing `UnifiedBridge` harness. Three new files, all ~150 LOC each, all following the medcare_bridge.rs template: - WoaBridge = UnifiedBridge (NAMESPACE "WorkOrder", bridge_id "woa"). Customer/Kunde resolves to BILLING_PARTY (0x0204); Vorgang/WorkOrder/Quote/Invoice/CreditNote to COMMERCIAL_DOCUMENT (0x0202); Position/LineItem to COMMERCIAL_LINE_ITEM (0x0201); TaxRate/Steuersatz to TAX_POLICY (0x0203); Payment/Zahlung to PAYMENT_RECORD (0x0205); Stundenzettel/ TimesheetActivity/TimeEntry/Zeiterfassung to BILLABLE_WORK_ENTRY (0x0103). - SmbBridge = UnifiedBridge (NAMESPACE "SMB", bridge_id "smb"). Same canonical block as WoA — Kunde→ BILLING_PARTY, Stundenzettel→BILLABLE_WORK_ENTRY, etc. — so smb-office-rs gets cross-fork convergence with WoA + OpenProject + Odoo for free. - OdooBridge = UnifiedBridge (NAMESPACE "Odoo", bridge_id "odoo"). Odoo's Python class names (res.partner / account.move / account.move.line / hr.attendance / …) resolve to the same canonical block. Closes the planner→ERP→billing chain at every hop. The convergence pin (the operator's value statement as a bridge-side test): - `bridges::woa_bridge::tests::entity_resolves_stundenzettel_to_ billable_work_entry_planner_convergence` ✓ - `bridges::smb_bridge::tests::entity_resolves_stundenzettel_to_ billable_work_entry_planner_convergence` ✓ Both assert that `bridge.entity("Stundenzettel").schema_ptr. entity_type_id() == 0x0103 BILLABLE_WORK_ENTRY`, the SAME id `OpenProjectBridge.entity("TimeEntry")` and `RedmineBridge. entity("TimeEntry")` return. The planner→ERP integration is now a codebook lookup, not a translation layer. Tests: 53/53 lance-graph-ogar lib tests pass, including the 14 new tests (5 per bridge minus 1 missing in odoo). Cargo lock updated to pull OGAR main @ 08a9c979 (post #93+#94 merge). Unrelated drive-by: cargo fmt picked up minor formatting nits in unified.rs / medcare_bridge.rs / openproject_bridge.rs / tests/ bridge_codebook_convergence.rs — included to keep the tree fmt-clean. Pre-existing clippy `--lib -- -D warnings` errors in lance-graph- ontology and the OGAR bridges (8 `dead_code` warnings on the per- bridge `pub const NAMESPACE` constants — pre-migration compat shims that aren't used inside the crate) are NOT introduced by this PR and affect medcare_bridge.rs / openproject_bridge.rs / redmine_bridge.rs identically — the new bridges follow the same pattern. Consumer-side migrations queued (next, in their own repos): - woa-rs: RFC-010 (Iron Rule 1 allow-list: add `lance-graph-ogar`) + switch `use lance_graph_ontology::bridges::WoaBridge` → `use lance_graph_ogar::bridges::WoaBridge` across 4 files (~50 LOC). - smb-office-rs: Cargo dep + repoint `crates/smb-bridge/src/unified_bridge_wiring.rs` from `OgitBridge` to `SmbBridge` (~50 LOC). - odoo-rs / openproject-nexgen-rs: their own sessions per the medcare-rs #168 worked example pattern. Cross-refs: OGAR PR #93 (WoaPort + SmbPort, merged), OGAR PR #94 (OdooPort, merged), lance-graph PR #585 (the OGIT/OGAR separation that gated this work), EPIPHANIES `E-OGAR-AR-MIGRATION-IS-SEVERITY`, ISSUES `OGAR-AR-MIGRATION-WOA-SMB-OPEN`, woa-rs `.claude/board/OGAR-MIGRATION-GAP-2026-06-21.md`, smb-office-rs `.claude/board/TECH_DEBT.md` `TD-OGAR-CONSUMER-MIGRATION-1`. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Xzyc27Nx3f8WC5KzwfWfjx --- Cargo.lock | 1247 ++++++++--------- .../src/bridges/medcare_bridge.rs | 2 +- crates/lance-graph-ogar/src/bridges/mod.rs | 35 +- .../src/bridges/odoo_bridge.rs | 116 ++ .../src/bridges/openproject_bridge.rs | 2 +- .../src/bridges/smb_bridge.rs | 143 ++ .../lance-graph-ogar/src/bridges/unified.rs | 18 +- .../src/bridges/woa_bridge.rs | 159 +++ .../tests/bridge_codebook_convergence.rs | 7 +- 9 files changed, 1047 insertions(+), 682 deletions(-) create mode 100644 crates/lance-graph-ogar/src/bridges/odoo_bridge.rs create mode 100644 crates/lance-graph-ogar/src/bridges/smb_bridge.rs create mode 100644 crates/lance-graph-ogar/src/bridges/woa_bridge.rs diff --git a/Cargo.lock b/Cargo.lock index fc756cf4..2b75eb2b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -50,9 +50,9 @@ checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" [[package]] name = "alloc-stdlib" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" dependencies = [ "alloc-no-stdlib", ] @@ -114,7 +114,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -125,7 +125,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -145,9 +145,9 @@ dependencies = [ [[package]] name = "ar_archive_writer" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b" +checksum = "4087686b4b0a3427190bae57a1d9a478dbb2d40c5dc1bd6e2b6d797913bdd348" dependencies = [ "object", ] @@ -169,9 +169,9 @@ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe" [[package]] name = "arrow" @@ -221,7 +221,7 @@ dependencies = [ "chrono", "chrono-tz", "half", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "num-complex", "num-integer", "num-traits", @@ -362,7 +362,7 @@ version = "58.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f633dbfdf39c039ada1bf9e34c694816eb71fbb7dc78f613993b7245e078a1ed" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "serde", "serde_core", "serde_json", @@ -452,7 +452,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -474,7 +474,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -485,7 +485,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -514,15 +514,15 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "aws-config" -version = "1.8.16" +version = "1.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f156acdd2cf55f5aa53ee416c4ac851cf1222694506c0b1f78c85695e9ca9d" +checksum = "e33f815b73a3899c03b380d543532e5865f230dce9678d108dc10732a8682275" dependencies = [ "aws-credential-types", "aws-runtime", @@ -534,13 +534,14 @@ dependencies = [ "aws-smithy-json", "aws-smithy-runtime", "aws-smithy-runtime-api", + "aws-smithy-schema", "aws-smithy-types", "aws-types", "bytes", "fastrand", "hex", - "http 1.4.0", - "sha1", + "http 1.4.2", + "sha1 0.10.6", "time", "tokio", "tracing", @@ -562,20 +563,19 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.16.3" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ec6fb3fe69024a75fa7e1bfb48aa6cf59706a101658ea01bfd33b2b248a038f" +checksum = "5ec2f1fc3ec205783a5da9a7e6c1509cc69dedf09a1949e412c1e18469326d00" dependencies = [ "aws-lc-sys", - "untrusted 0.7.1", "zeroize", ] [[package]] name = "aws-lc-sys" -version = "0.40.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50037ee5e1e41e7b8f9d161680a725bd1626cb6f8c7e901f91f942850852fe7" +checksum = "1a2f9779ce85b93ab6170dd940ad0169b5766ff848247aff13bb788b832fe3f4" dependencies = [ "cc", "cmake", @@ -585,9 +585,9 @@ dependencies = [ [[package]] name = "aws-runtime" -version = "1.7.3" +version = "1.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dcd93c82209ac7413532388067dce79be5a8780c1786e5fae3df22e4dee2864" +checksum = "6c9b9de216a988dd54b754a82a7660cfe14cee4f6782ae4524470972fa0ccb39" dependencies = [ "aws-credential-types", "aws-sigv4", @@ -600,7 +600,7 @@ dependencies = [ "bytes", "bytes-utils", "fastrand", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "percent-encoding", "pin-project-lite", @@ -610,10 +610,11 @@ dependencies = [ [[package]] name = "aws-sdk-dynamodb" -version = "1.111.0" +version = "1.116.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc418346e3cb248c7d59e642acbcb06488b7c7cd2ba6ebc79e8003f618c60099" +checksum = "8c937c55ae3030bec4431c0d9146e33d2b3e5f54bb47ed32597068200c56affc" dependencies = [ + "arc-swap", "aws-credential-types", "aws-runtime", "aws-smithy-async", @@ -627,17 +628,18 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.4.0", + "http 1.4.2", "regex-lite", "tracing", ] [[package]] name = "aws-sdk-sso" -version = "1.98.0" +version = "1.102.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d69c77aafa20460c68b6b3213c84f6423b6e76dbf89accd3e1789a686ffd9489" +checksum = "8c82b3ac19f1431854f7ace3a7531674633e286bfdde21976893bfee36fd493b" dependencies = [ + "arc-swap", "aws-credential-types", "aws-runtime", "aws-smithy-async", @@ -651,17 +653,18 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.4.0", + "http 1.4.2", "regex-lite", "tracing", ] [[package]] name = "aws-sdk-ssooidc" -version = "1.100.0" +version = "1.104.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7e7b09346d5ca22a2a08267555843a6a0127fb20d8964cb6ecfb8fdb190225" +checksum = "321000d2b4c5519ee573f73167f612efd7329322d9b26969ad1979f0427f1913" dependencies = [ + "arc-swap", "aws-credential-types", "aws-runtime", "aws-smithy-async", @@ -675,17 +678,18 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.4.0", + "http 1.4.2", "regex-lite", "tracing", ] [[package]] name = "aws-sdk-sts" -version = "1.103.0" +version = "1.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2249b81a2e73a8027c41c378463a81ec39b8510f184f2caab87de912af0f49b" +checksum = "3d0d328ba962af23ecfa3c9f23b98d3d35e325fa218d7f13d17a6bf522f8a560" dependencies = [ + "arc-swap", "aws-credential-types", "aws-runtime", "aws-smithy-async", @@ -700,16 +704,16 @@ dependencies = [ "aws-types", "fastrand", "http 0.2.12", - "http 1.4.0", + "http 1.4.2", "regex-lite", "tracing", ] [[package]] name = "aws-sigv4" -version = "1.4.3" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68dc0b907359b120170613b5c09ccc61304eac3998ff6274b97d93ee6490115a" +checksum = "bae38512beae0ffee7010fc24e7a8a123c53efdfef42a61e80fda4882418dc71" dependencies = [ "aws-credential-types", "aws-smithy-http", @@ -720,7 +724,7 @@ dependencies = [ "hex", "hmac 0.13.0", "http 0.2.12", - "http 1.4.0", + "http 1.4.2", "percent-encoding", "sha2 0.11.0", "time", @@ -750,7 +754,7 @@ dependencies = [ "bytes-utils", "futures-core", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "percent-encoding", @@ -761,15 +765,15 @@ dependencies = [ [[package]] name = "aws-smithy-http-client" -version = "1.1.12" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a2f165a7feee6f263028b899d0a181987f4fa7179a6411a32a439fba7c5f769" +checksum = "5c3ef8931ad1c98aa6a55b4256f847f3116090819844e0dd41ea682cac5dd2d3" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", "aws-smithy-types", "h2", - "http 1.4.0", + "http 1.4.2", "hyper", "hyper-rustls", "hyper-util", @@ -785,10 +789,12 @@ dependencies = [ [[package]] name = "aws-smithy-json" -version = "0.62.5" +version = "0.62.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9648b0bb82a2eedd844052c6ad2a1a822d1f8e3adee5fbf668366717e428856a" +checksum = "701a947f4797e52a911e114a898667c746c39feea467bbd1abd7b3721f702ffa" dependencies = [ + "aws-smithy-runtime-api", + "aws-smithy-schema", "aws-smithy-types", ] @@ -813,20 +819,21 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.11.1" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0504b1ab12debb5959e5165ee5fe97dd387e7aa7ea6a477bfd7635dfe769a4f5" +checksum = "b8e6f5caf6fea86f8c2206541ab5857cfcda9013426cdbe8fa0098b9e2d32182" dependencies = [ "aws-smithy-async", "aws-smithy-http", "aws-smithy-http-client", "aws-smithy-observability", "aws-smithy-runtime-api", + "aws-smithy-schema", "aws-smithy-types", "bytes", "fastrand", "http 0.2.12", - "http 1.4.0", + "http 1.4.2", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -838,16 +845,16 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.12.0" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71a13df6ada0aafbf21a73bdfcdf9324cfa9df77d96b8446045be3cde61b42e" +checksum = "9db177daa6ba8afb9ee1aefcf548c907abcf52065e394ee11a92780057fe0e8c" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api-macros", "aws-smithy-types", "bytes", "http 0.2.12", - "http 1.4.0", + "http 1.4.2", "pin-project-lite", "tokio", "tracing", @@ -862,21 +869,32 @@ checksum = "8d7396fd9500589e62e460e987ecb671bad374934e55ec3b5f498cc7a8a8a7b7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", +] + +[[package]] +name = "aws-smithy-schema" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7442cb268338f0eb8278140a107c046756aa01093d8ef5e99628d34ae09c94f5" +dependencies = [ + "aws-smithy-runtime-api", + "aws-smithy-types", + "http 1.4.2", ] [[package]] name = "aws-smithy-types" -version = "1.4.7" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d73dbfbaa8e4bc57b9045137680b958d274823509a360abfd8e1d514d40c95c" +checksum = "32b42fcf341259d85ca10fac9a2f6448a8ec691c6955a18e45bc3b71a85fab85" dependencies = [ "base64-simd", "bytes", "bytes-utils", "futures-core", "http 0.2.12", - "http 1.4.0", + "http 1.4.2", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -902,13 +920,14 @@ dependencies = [ [[package]] name = "aws-types" -version = "1.3.15" +version = "1.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4bbcaa9304ea40902d3d5f42a0428d1bd895a2b0f6999436fb279ffddc58ac" +checksum = "d16bf10b03a3c01e6b3b7d47cd964e873ffe9e7d4e80fad16bd4c077cb068531" dependencies = [ "aws-credential-types", "aws-smithy-async", "aws-smithy-runtime-api", + "aws-smithy-schema", "aws-smithy-types", "rustc_version", "tracing", @@ -924,7 +943,7 @@ dependencies = [ "axum-core 0.4.5", "bytes", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "itoa", @@ -952,7 +971,7 @@ dependencies = [ "bytes", "form_urlencoded", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "hyper", @@ -967,7 +986,7 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sha1", + "sha1 0.10.6", "sync_wrapper", "tokio", "tokio-tungstenite 0.29.0", @@ -986,7 +1005,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "mime", @@ -1005,7 +1024,7 @@ checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ "bytes", "futures-core", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "mime", @@ -1054,7 +1073,7 @@ name = "bgz-tensor" version = "0.1.0" dependencies = [ "holograph", - "lance-graph-contract", + "lance-graph-contract 0.1.0", "ndarray 0.17.2", "serde", "serde_json", @@ -1095,9 +1114,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" [[package]] name = "bitpacking" @@ -1110,9 +1129,9 @@ dependencies = [ [[package]] name = "bitvec" -version = "1.0.1" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837" dependencies = [ "funty", "radium", @@ -1154,9 +1173,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" +checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" dependencies = [ "hybrid-array", ] @@ -1172,9 +1191,9 @@ dependencies = [ [[package]] name = "bon" -version = "3.9.2" +version = "3.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2f04f6fef12d70d42a77b1433c9e0f065238479a6cefc4f5bab105e9873a3c3" +checksum = "a602c73c7b0148ec6d12af6fd5cc7a46e2eacc8878271a999abac56eed12f561" dependencies = [ "bon-macros", "rustversion", @@ -1182,9 +1201,9 @@ dependencies = [ [[package]] name = "bon-macros" -version = "3.9.2" +version = "3.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d0bd4c2f75335ad98052a37efb54f428b492f64340257143b3429c8a508fa7b" +checksum = "6dee98b0db6a962de883bf5d20362dee4d7ca0d12fe39a7c6c73c844e1cd7c1f" dependencies = [ "darling 0.23.0", "ident_case", @@ -1192,14 +1211,14 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "brotli" -version = "8.0.2" +version = "8.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" +checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1208,14 +1227,23 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "5.0.0" +version = "5.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" +checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", ] +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + [[package]] name = "bstr" version = "1.12.1" @@ -1229,9 +1257,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.20.2" +version = "3.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" [[package]] name = "buoyant_kernel" @@ -1274,7 +1302,7 @@ checksum = "3448e05bba811d98c73a466843abd8c16d0416dc083f92b66847693fcb0714f4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1297,7 +1325,7 @@ checksum = "89385e82b5d1821d2219e0b095efa2cc1f246cbf99080f3be46a1a85c0d392d9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1317,7 +1345,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1328,9 +1356,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593" [[package]] name = "bytes-utils" @@ -1372,9 +1400,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.61" +version = "1.2.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d" +checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96" dependencies = [ "find-msvc-tools", "jobserver", @@ -1422,9 +1450,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.44" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" dependencies = [ "iana-time-zone", "js-sys", @@ -1512,7 +1540,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1532,9 +1560,9 @@ dependencies = [ [[package]] name = "cmov" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" [[package]] name = "cognitive-shader-driver" @@ -1546,7 +1574,7 @@ dependencies = [ "bytemuck", "causal-edge", "deepnsm", - "lance-graph-contract", + "lance-graph-contract 0.1.0", "lance-graph-ontology", "lance-graph-planner", "ndarray 0.17.2", @@ -1572,7 +1600,7 @@ version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -1882,9 +1910,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" dependencies = [ "hybrid-array", ] @@ -1989,7 +2017,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2002,7 +2030,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2013,7 +2041,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2024,14 +2052,14 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core 0.23.0", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "dashmap" -version = "6.1.0" +version = "6.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +checksum = "e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c" dependencies = [ "cfg-if 1.0.4", "crossbeam-utils", @@ -2531,7 +2559,7 @@ checksum = "2e367e6a71051d0ebdd29b2f85d12059b38b1d1f172c6906e80016da662226bd" dependencies = [ "datafusion-doc", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2685,7 +2713,7 @@ dependencies = [ "datafusion-physical-plan", "datafusion-proto-common", "object_store", - "prost 0.14.3", + "prost 0.14.4", "rand 0.9.4", ] @@ -2697,7 +2725,7 @@ checksum = "16e614c7c53a9c304c6a850b821010bb492e57300311835f1180613f9d2c63d9" dependencies = [ "arrow", "datafusion-common", - "prost 0.14.3", + "prost 0.14.4", ] [[package]] @@ -2772,7 +2800,7 @@ checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" name = "deepnsm" version = "0.1.0" dependencies = [ - "lance-graph-contract", + "lance-graph-contract 0.1.0", "ndarray 0.17.2", ] @@ -2796,11 +2824,43 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "defmt" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6e524506490a1953d237cb87b1cfc1e46f88c18f10a22dfe0f507dc6bfc7f7f" +dependencies = [ + "bitflags 1.3.2", + "defmt-macros", +] + +[[package]] +name = "defmt-macros" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0a27770e9c8f719a79d8b638281f4d828f77d8fd61e0bd94451b9b85e576a0b" +dependencies = [ + "defmt-parser", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.118", +] + +[[package]] +name = "defmt-parser" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" +dependencies = [ + "thiserror 2.0.18", +] + [[package]] name = "deltalake" -version = "0.32.3" +version = "0.32.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33449d2bcc676a8a0088ed644c3f7c5bf094ae4b115c1730735ba30e8a1866bb" +checksum = "2695b91fd02afd5b4726a190fd58019674492d824e30598391390b0307644da8" dependencies = [ "buoyant_kernel", "ctor 0.10.1", @@ -2853,9 +2913,9 @@ dependencies = [ [[package]] name = "deltalake-core" -version = "0.32.3" +version = "0.32.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e67c5de0c7cc492a22c6e5bd7f37cfb59c471dd135617058eac609ddcfb878" +checksum = "4588e95ff3b2ccdba56d9ec262bd3467c0593000f729402528706f62be8be1ca" dependencies = [ "arrow", "arrow-arith", @@ -2916,7 +2976,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2953,7 +3013,6 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ - "powerfmt", "serde_core", ] @@ -2975,7 +3034,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2985,7 +3044,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3002,13 +3061,13 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" dependencies = [ - "block-buffer 0.12.0", + "block-buffer 0.12.1", "const-oid 0.10.2", - "crypto-common 0.2.1", + "crypto-common 0.2.2", "ctutils", ] @@ -3030,18 +3089,18 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] name = "displaydoc" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3057,7 +3116,7 @@ dependencies = [ name = "dto-class-check" version = "0.1.0" dependencies = [ - "syn 2.0.117", + "syn 2.0.118", "walkdir", ] @@ -3115,9 +3174,9 @@ dependencies = [ [[package]] name = "either" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" [[package]] name = "encoding_rs" @@ -3150,7 +3209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3210,7 +3269,7 @@ version = "25.12.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35f6839d7b3b98adde531effaf34f0c2badc6f4735d26fe74709d8e513a96ef3" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "rustc_version", ] @@ -3367,7 +3426,7 @@ checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3410,9 +3469,9 @@ dependencies = [ [[package]] name = "generator" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9" +checksum = "b3b854b0e584ead1a33f18b2fcad7cf7be18b3875c78816b753639aa501513ae" dependencies = [ "cc", "cfg-if 1.0.4", @@ -3547,9 +3606,9 @@ dependencies = [ [[package]] name = "geohash" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fb94b1a65401d6cbf22958a9040aa364812c26674f841bee538b12c135db1e6" +checksum = "7f58890382f70caccc5fa388981f7ac80c913795042afce9f3e065695d8f7464" dependencies = [ "geo-types", "libm", @@ -3584,17 +3643,15 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" dependencies = [ "cfg-if 1.0.4", "js-sys", "libc", "r-efi 6.0.0", "rand_core 0.10.1", - "wasip2", - "wasip3", "wasm-bindgen", ] @@ -3615,7 +3672,7 @@ checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3638,16 +3695,16 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" +checksum = "6cb093c84e8bd9b188d4c4a8cb6579fc016968d14c99882163cd3ff402a4f155" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.4.0", + "http 1.4.2", "indexmap 2.14.0", "slab", "tokio", @@ -3710,9 +3767,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "heapify" @@ -3756,7 +3813,7 @@ checksum = "430b33fa84f92796d4d263070b6c0d3ca219df7b9a0e1853ee431029b1612bcd" dependencies = [ "async-trait", "bytes", - "http 1.4.0", + "http 1.4.2", "more-asserts", "serde", "thiserror 2.0.18", @@ -3789,7 +3846,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" dependencies = [ - "digest 0.11.2", + "digest 0.11.3", ] [[package]] @@ -3819,9 +3876,9 @@ dependencies = [ [[package]] name = "http" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425" dependencies = [ "bytes", "itoa", @@ -3845,7 +3902,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.4.0", + "http 1.4.2", ] [[package]] @@ -3856,7 +3913,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "pin-project-lite", ] @@ -3881,25 +3938,25 @@ checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "hybrid-array" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d46837a0ed51fe95bd3b05de33cd64a1ee88fc797477ca48446872504507c5" +checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" dependencies = [ "typenum", ] [[package]] name = "hyper" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" +checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498" dependencies = [ "atomic-waker", "bytes", "futures-channel", "futures-core", "h2", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "httparse", "httpdate", @@ -3916,7 +3973,7 @@ version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ - "http 1.4.0", + "http 1.4.2", "hyper", "hyper-util", "rustls", @@ -3965,14 +4022,14 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "hyper", "ipnet", "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.4", "system-configuration", "tokio", "tower-service", @@ -4138,12 +4195,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "id-arena" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" - [[package]] name = "ident_case" version = "1.0.1" @@ -4189,7 +4240,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "serde", "serde_core", ] @@ -4216,7 +4267,7 @@ version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d09b98f7eace8982db770e4408e7470b028ce513ac28fecdc6bf4c30fe92b62" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "cfg-if 1.0.4", "libc", ] @@ -4227,16 +4278,6 @@ version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" -[[package]] -name = "iri-string" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "is-terminal" version = "0.4.17" @@ -4245,7 +4286,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4320,10 +4361,11 @@ dependencies = [ [[package]] name = "jiff" -version = "0.2.24" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d" +checksum = "34f877a98676d2fb664698d74cc6a51ce6c484ce8c770f05d0108ec9090aeb46" dependencies = [ + "defmt", "jiff-static", "jiff-tzdb-platform", "js-sys", @@ -4332,18 +4374,18 @@ dependencies = [ "portable-atomic-util", "serde_core", "wasm-bindgen", - "windows-sys 0.52.0", + "windows-link", ] [[package]] name = "jiff-static" -version = "0.2.24" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7" +checksum = "0666b5ab5ecaca213fc2a85b8c0083d9004e84ee2d5f9a7e0017aaf50986f25f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -4388,7 +4430,7 @@ dependencies = [ "quote", "rustc_version", "simd_cesu8", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -4407,7 +4449,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" dependencies = [ "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -4422,13 +4464,12 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.97" +version = "0.3.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1840c94c045fbcf8ba2812c95db44499f7c64910a912551aaaa541decebcacf" +checksum = "03d04c30968dffe80775bd4d7fb676131cd04a1fb46d2686dbffbaec2d9dfd31" dependencies = [ "cfg-if 1.0.4", "futures-util", - "once_cell", "wasm-bindgen", ] @@ -4452,24 +4493,6 @@ dependencies = [ "zmij", ] -[[package]] -name = "jsonwebtoken" -version = "10.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eba32bfb4ffdeaca3e34431072faf01745c9b26d25504aa7a6cf5684334fc4fc" -dependencies = [ - "aws-lc-rs", - "base64", - "getrandom 0.2.17", - "js-sys", - "pem", - "serde", - "serde_json", - "signature", - "simple_asn1", - "zeroize", -] - [[package]] name = "kanaria" version = "0.2.0" @@ -4551,16 +4574,16 @@ dependencies = [ "object_store", "permutation", "pin-project", - "prost 0.14.3", - "prost-build 0.14.3", - "prost-types 0.14.3", + "prost 0.14.4", + "prost-build 0.14.4", + "prost-types 0.14.4", "rand 0.9.4", "rayon", "roaring", "semver", "serde", "serde_json", - "snafu 0.9.0", + "snafu 0.9.1", "tokio", "tokio-stream", "tokio-util", @@ -4626,11 +4649,11 @@ dependencies = [ "num_cpus", "object_store", "pin-project", - "prost 0.14.3", + "prost 0.14.4", "rand 0.9.4", "roaring", "serde_json", - "snafu 0.9.0", + "snafu 0.9.1", "tempfile", "tokio", "tokio-stream", @@ -4666,8 +4689,8 @@ dependencies = [ "lance-geo", "log", "pin-project", - "prost 0.14.3", - "prost-build 0.14.3", + "prost 0.14.4", + "prost-build 0.14.4", "tokio", "tracing", ] @@ -4719,8 +4742,8 @@ dependencies = [ "log", "lz4", "num-traits", - "prost 0.14.3", - "prost-build 0.14.3", + "prost 0.14.4", + "prost-build 0.14.4", "rand 0.9.4", "strum 0.26.3", "tokio", @@ -4755,9 +4778,9 @@ dependencies = [ "log", "num-traits", "object_store", - "prost 0.14.3", - "prost-build 0.14.3", - "prost-types 0.14.3", + "prost 0.14.4", + "prost-build 0.14.4", + "prost-types 0.14.4", "tokio", "tracing", ] @@ -4801,7 +4824,7 @@ dependencies = [ "lance", "lance-arrow", "lance-graph-catalog", - "lance-graph-contract", + "lance-graph-contract 0.1.0", "lance-graph-planner", "lance-index", "lance-linalg", @@ -4822,7 +4845,7 @@ name = "lance-graph-archetype" version = "0.1.0" dependencies = [ "arrow", - "lance-graph-contract", + "lance-graph-contract 0.1.0", "thiserror 2.0.18", ] @@ -4855,13 +4878,13 @@ dependencies = [ "flate2", "futures", "lance", - "lance-graph-contract", + "lance-graph-contract 0.1.0", "lance-graph-ontology", "lance-graph-rbac", "log", "serde", "serde_json", - "syn 2.0.117", + "syn 2.0.118", "thinking-engine", "thiserror 1.0.69", "tokio", @@ -4890,7 +4913,8 @@ name = "lance-graph-consumer-conformance" version = "0.1.0" dependencies = [ "lance-graph-callcenter", - "lance-graph-contract", + "lance-graph-contract 0.1.0", + "lance-graph-ogar", "lance-graph-ontology", "lance-graph-rbac", ] @@ -4905,6 +4929,28 @@ dependencies = [ "serde_yaml", ] +[[package]] +name = "lance-graph-contract" +version = "0.1.0" +source = "git+https://github.com/AdaWorldAPI/lance-graph?branch=main#fc7b2c9579ea8d9bb3a7633723bdeac900f61d07" +dependencies = [ + "glob", + "serde", + "serde_yaml", +] + +[[package]] +name = "lance-graph-ogar" +version = "0.1.0" +dependencies = [ + "lance-graph-contract 0.1.0", + "lance-graph-ontology", + "ogar-adapter-surrealql", + "ogar-class-view", + "ogar-ontology", + "ogar-vocab", +] + [[package]] name = "lance-graph-ontology" version = "0.1.0" @@ -4914,7 +4960,7 @@ dependencies = [ "arrow-schema", "futures", "lance", - "lance-graph-contract", + "lance-graph-contract 0.1.0", "once_cell", "oxrdf", "oxrdfxml", @@ -4934,7 +4980,7 @@ dependencies = [ "axum 0.8.9", "bgz17", "causal-edge", - "lance-graph-contract", + "lance-graph-contract 0.1.0", "ndarray 0.17.2", "p64", "p64-bridge", @@ -4950,7 +4996,7 @@ dependencies = [ name = "lance-graph-rbac" version = "0.1.0" dependencies = [ - "lance-graph-contract", + "lance-graph-contract 0.1.0", ] [[package]] @@ -4958,7 +5004,7 @@ name = "lance-graph-supervisor" version = "0.1.0" dependencies = [ "lance-graph-callcenter", - "lance-graph-contract", + "lance-graph-contract 0.1.0", "ractor", "static_assertions", "thiserror 1.0.69", @@ -5018,9 +5064,9 @@ dependencies = [ "ndarray 0.16.1", "num-traits", "object_store", - "prost 0.14.3", - "prost-build 0.14.3", - "prost-types 0.14.3", + "prost 0.14.4", + "prost-build 0.14.4", + "prost-types 0.14.4", "rand 0.9.4", "rand_distr", "rangemap", @@ -5059,7 +5105,7 @@ dependencies = [ "chrono", "deepsize", "futures", - "http 1.4.0", + "http 1.4.2", "io-uring", "lance-arrow", "lance-core", @@ -5071,7 +5117,7 @@ dependencies = [ "opendal", "path_abs", "pin-project", - "prost 0.14.3", + "prost 0.14.4", "rand 0.9.4", "serde", "tempfile", @@ -5109,7 +5155,7 @@ dependencies = [ "bytes", "lance-core", "lance-namespace-reqwest-client", - "snafu 0.9.0", + "snafu 0.9.1", ] [[package]] @@ -5176,16 +5222,16 @@ dependencies = [ "lance-io", "log", "object_store", - "prost 0.14.3", - "prost-build 0.14.3", - "prost-types 0.14.3", + "prost 0.14.4", + "prost-build 0.14.4", + "prost-types 0.14.4", "rand 0.9.4", "rangemap", "roaring", "semver", "serde", "serde_json", - "snafu 0.9.0", + "snafu 0.9.1", "tokio", "tracing", "url", @@ -5289,12 +5335,6 @@ dependencies = [ "spin", ] -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" - [[package]] name = "lexical-core" version = "1.0.6" @@ -5354,9 +5394,9 @@ dependencies = [ [[package]] name = "libbz2-rs-sys" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a6a8c165077efc8f3a971534c50ea6a1a18b329ef4a66e897a7e3a1494565f" +checksum = "34b357333733e8260735ba5894eb928c02ecc69c78715f01a8019e7fa7f2db4c" [[package]] name = "libc" @@ -5392,9 +5432,9 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" +checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" dependencies = [ "libc", ] @@ -5492,9 +5532,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.29" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" [[package]] name = "loom" @@ -5598,9 +5638,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4" [[package]] name = "memmap2" @@ -5645,9 +5685,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" +checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda" dependencies = [ "libc", "wasi 0.11.1+wasi-snapshot-preview1", @@ -5703,7 +5743,7 @@ checksum = "4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5799,7 +5839,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -5839,9 +5879,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" [[package]] name = "num-integer" @@ -5902,7 +5942,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5911,7 +5951,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", ] [[package]] @@ -5956,7 +5996,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body-util", "httparse", "humantime", @@ -5999,6 +6039,33 @@ dependencies = [ "tokio", ] +[[package]] +name = "ogar-adapter-surrealql" +version = "0.1.0" +source = "git+https://github.com/AdaWorldAPI/OGAR?branch=main#08a9c979d8939e1303770ea32aa2010928e79318" +dependencies = [ + "ogar-vocab", +] + +[[package]] +name = "ogar-class-view" +version = "0.1.0" +source = "git+https://github.com/AdaWorldAPI/OGAR?branch=main#08a9c979d8939e1303770ea32aa2010928e79318" +dependencies = [ + "lance-graph-contract 0.1.0 (git+https://github.com/AdaWorldAPI/lance-graph?branch=main)", + "ogar-vocab", +] + +[[package]] +name = "ogar-ontology" +version = "0.1.0" +source = "git+https://github.com/AdaWorldAPI/OGAR?branch=main#08a9c979d8939e1303770ea32aa2010928e79318" + +[[package]] +name = "ogar-vocab" +version = "0.1.0" +source = "git+https://github.com/AdaWorldAPI/OGAR?branch=main#08a9c979d8939e1303770ea32aa2010928e79318" + [[package]] name = "once_cell" version = "1.21.4" @@ -6054,7 +6121,7 @@ dependencies = [ "base64", "bytes", "futures", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "jiff", "log", @@ -6079,7 +6146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "048b1b29c503263bdd80a9afe46a68cd02ea9bd361185b1feab4b151078998e9" dependencies = [ "futures", - "http 1.4.0", + "http 1.4.2", "mea", "opendal-core", ] @@ -6123,7 +6190,7 @@ checksum = "7452bf3ec61cfd81ac9ad9ada17825931e9e371d44a045c6bfab9596c0a2ac3b" dependencies = [ "base64", "bytes", - "http 1.4.0", + "http 1.4.2", "log", "opendal-core", "opendal-service-azure-common", @@ -6143,7 +6210,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f9884c2d8cf8ba2bb077d79c877dac5863ba3bab9e2c9c1e41a2e0491404772" dependencies = [ "bytes", - "http 1.4.0", + "http 1.4.2", "log", "opendal-core", "opendal-service-azure-common", @@ -6161,7 +6228,7 @@ version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffb0e45d6c8dcf66ce2da20e241bcb80e6e540e109a4ff20f318f6c9b4c54e0c" dependencies = [ - "http 1.4.0", + "http 1.4.2", "opendal-core", ] @@ -6172,7 +6239,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55a0765ba451b6effdbf514b7b50060530ff8a29e4231c4a3ab7792c016408e6" dependencies = [ "bytes", - "http 1.4.0", + "http 1.4.2", "log", "opendal-core", "quick-xml 0.38.4", @@ -6190,7 +6257,7 @@ checksum = "70a49477a10163431896d106136117f5670717f9c9e49cf6f710528800c6633a" dependencies = [ "async-trait", "bytes", - "http 1.4.0", + "http 1.4.2", "log", "opendal-core", "percent-encoding", @@ -6211,7 +6278,7 @@ checksum = "7b2ab7a2a8a11dfe257ef4db5c0de798acbcd0d6429c37382dad2154bc06a388" dependencies = [ "bytes", "hf-xet", - "http 1.4.0", + "http 1.4.2", "log", "opendal-core", "percent-encoding", @@ -6227,7 +6294,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29c8a917829ad06d21b639558532cb0101fe49b040d946d673a73018683fac05" dependencies = [ "bytes", - "http 1.4.0", + "http 1.4.2", "log", "opendal-core", "quick-xml 0.38.4", @@ -6246,7 +6313,7 @@ dependencies = [ "base64", "bytes", "crc32c", - "http 1.4.0", + "http 1.4.2", "log", "md-5", "opendal-core", @@ -6260,15 +6327,14 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.78" +version = "0.10.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38c4372413cdaaf3cc79dd92d29d7d9f5ab09b51b10dded508fb90bb70b9222" +checksum = "77823a27f0babb03091cb9ed9ef80af3b39dbc82f97e8fa530374b7dafd87a45" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "cfg-if 1.0.4", "foreign-types", "libc", - "once_cell", "openssl-macros", "openssl-sys", ] @@ -6281,7 +6347,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6292,9 +6358,9 @@ checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" [[package]] name = "openssl-sys" -version = "0.9.114" +version = "0.9.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13ce1245cd07fcc4cfdb438f7507b0c7e4f3849a69fd84d52374c66d83741bb6" +checksum = "b47e7e6bb2c38cd930d25a23b40fa52e068c10e85f3e03a7f5ba5aaca5713695" dependencies = [ "cc", "libc", @@ -6353,9 +6419,9 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" [[package]] name = "oxilangtag" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23f3f87617a86af77fa3691e6350483e7154c2ead9f1261b75130e21ca0f8acb" +checksum = "5d3b4eb570abd4a1dcb062c31fd37b832264d9dc7292c3e69acfe926c87b063f" dependencies = [ "serde", ] @@ -6468,7 +6534,7 @@ dependencies = [ "flate2", "futures", "half", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "lz4_flex", "num-bigint", "num-integer", @@ -6630,22 +6696,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.11" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" +checksum = "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.11" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" +checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6778,7 +6844,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6787,7 +6853,7 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ - "toml_edit 0.25.11+spec-1.1.0", + "toml_edit 0.25.12+spec-1.1.0", ] [[package]] @@ -6809,7 +6875,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6833,12 +6899,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" +checksum = "528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1" dependencies = [ "bytes", - "prost-derive 0.14.3", + "prost-derive 0.14.4", ] [[package]] @@ -6857,15 +6923,15 @@ dependencies = [ "prost 0.13.5", "prost-types 0.13.5", "regex", - "syn 2.0.117", + "syn 2.0.118", "tempfile", ] [[package]] name = "prost-build" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" +checksum = "03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042" dependencies = [ "heck", "itertools 0.14.0", @@ -6873,10 +6939,10 @@ dependencies = [ "multimap", "petgraph 0.8.3", "prettyplease", - "prost 0.14.3", - "prost-types 0.14.3", + "prost 0.14.4", + "prost-types 0.14.4", "regex", - "syn 2.0.117", + "syn 2.0.118", "tempfile", ] @@ -6890,20 +6956,20 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "prost-derive" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" +checksum = "b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf" dependencies = [ "anyhow", "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6917,11 +6983,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" +checksum = "f94967dc7688f3054c7fac87473ffae4cc4c3904800e2d9f5b857246d8963b0a" dependencies = [ - "prost 0.14.3", + "prost 0.14.4", ] [[package]] @@ -6951,7 +7017,7 @@ checksum = "7347867d0a7e1208d93b46767be83e2b8f978c3dad35f775ac8d8847551d6fe1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6983,11 +7049,21 @@ dependencies = [ "serde", ] +[[package]] +name = "quick-xml" +version = "0.40.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2474bd2e5029e7ccb6abb2ba48cf2383a333851dedf495901544281590c7da7f" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "quinn" -version = "0.11.9" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +checksum = "0c1a41e437b6bbd489372cd4971de128e85c855f56c57f283d20ff016cf7c0a8" dependencies = [ "bytes", "cfg_aliases", @@ -6996,7 +7072,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2 0.5.10", + "socket2 0.6.4", "thiserror 2.0.18", "tokio", "tracing", @@ -7005,9 +7081,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +checksum = "4fcb935c5bec503c2f0e306bdd3e58bb9029dcb14fa8d9ac76e3a5256ac0763e" dependencies = [ "aws-lc-rs", "bytes", @@ -7034,16 +7110,16 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.10", + "socket2 0.6.4", "tracing", "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.45" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368" dependencies = [ "proc-macro2", ] @@ -7122,7 +7198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" dependencies = [ "chacha20", - "getrandom 0.4.2", + "getrandom 0.4.3", "rand_core 0.10.1", ] @@ -7251,7 +7327,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76009fbe0614077fc1a2ce255e3a1881a2e3a3527097d5dc6d8212c585e7e38b" dependencies = [ "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -7269,7 +7345,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", ] [[package]] @@ -7300,14 +7376,14 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "regex" -version = "1.12.3" +version = "1.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "f1292b7759ae1cb9ec195452d1390a074f0cd8541ab7a5a8c31cd6db45d4a6ba" dependencies = [ "aho-corasick", "memchr", @@ -7334,9 +7410,9 @@ checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973" [[package]] name = "regex-syntax" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "rend" @@ -7349,13 +7425,13 @@ dependencies = [ [[package]] name = "reqsign-aliyun-oss" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ac2757f3140aa2e213b554148ae0b52733e624fc6723f0cc6bb3d440176c95" +checksum = "372266b4733756738eeb199a98188037d27a0989980e2600ae7ce1faf00a867d" dependencies = [ "anyhow", "form_urlencoded", - "http 1.4.0", + "http 1.4.2", "log", "percent-encoding", "reqsign-core", @@ -7366,37 +7442,37 @@ dependencies = [ [[package]] name = "reqsign-aws-v4" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44eaca382e94505a49f1a4849658d153aebf79d9c1a58e5dd3b10361511e9f43" +checksum = "7b75624bd8a466e37ddc0a7b6c33ac859a85347c153a916e1dd9d0b68338f74a" dependencies = [ "anyhow", "bytes", "form_urlencoded", - "http 1.4.0", + "hex", + "http 1.4.2", "log", "percent-encoding", - "quick-xml 0.39.4", + "quick-xml 0.40.1", "reqsign-core", "rust-ini", "serde", "serde_json", "serde_urlencoded", - "sha1", + "sha1 0.11.0", ] [[package]] name = "reqsign-azure-storage" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a321980405d596bd34aaf95c4722a3de4128a67fd19e74a81a83aa3fdf082e6" +checksum = "62b96928e73ad984de1d99e382749d09e5dab7dd707b767974f7e40aa926b82f" dependencies = [ "anyhow", "base64", "bytes", "form_urlencoded", - "http 1.4.0", - "jsonwebtoken", + "http 1.4.2", "log", "pem", "percent-encoding", @@ -7404,14 +7480,14 @@ dependencies = [ "rsa", "serde", "serde_json", - "sha1", + "sha1 0.11.0", ] [[package]] name = "reqsign-core" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10302cf0a7d7e7352ba211fc92c3c5bebf1286153e49cc5aa87348078a8e102" +checksum = "a5fa5cb48808693614d1701fcd3db0b30fa292e0f18e122ae068b6d32eaeed3f" dependencies = [ "anyhow", "base64", @@ -7419,21 +7495,24 @@ dependencies = [ "form_urlencoded", "futures", "hex", - "hmac 0.12.1", - "http 1.4.0", + "hmac 0.13.0", + "http 1.4.2", "jiff", "log", "percent-encoding", - "sha1", - "sha2 0.10.9", + "rsa", + "serde", + "serde_json", + "sha1 0.11.0", + "sha2 0.11.0", "windows-sys 0.61.2", ] [[package]] name = "reqsign-file-read-tokio" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d89295b3d17abea31851cc8de55d843d89c52132c864963c38d41920613dc5" +checksum = "6a4b6f3a3fd29ffcc99a90aec585a65217783badfd73acddf847b63ae683bda9" dependencies = [ "anyhow", "reqsign-core", @@ -7442,13 +7521,12 @@ dependencies = [ [[package]] name = "reqsign-google" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35cc609b49c69e76ecaceb775a03f792d1ed3e7755ab3548d4534fd801e3242e" +checksum = "eb215d0876a18b6bd9cdd380b589e5292aaa638ca15266de794b1122d898b6b2" dependencies = [ "form_urlencoded", - "http 1.4.0", - "jsonwebtoken", + "http 1.4.2", "log", "percent-encoding", "reqsign-aws-v4", @@ -7456,18 +7534,17 @@ dependencies = [ "rsa", "serde", "serde_json", - "sha2 0.10.9", "tokio", ] [[package]] name = "reqsign-tencent-cos" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e128f19525861dbded59e1e7c17653a8ed63d573ca04aed708d552dbef5bb32a" +checksum = "84110aabba799fbcd48b3abb51fbbff4749f879252e5806b6f5d0cbe0fef6abb" dependencies = [ "anyhow", - "http 1.4.0", + "http 1.4.2", "log", "percent-encoding", "reqsign-core", @@ -7487,7 +7564,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "hyper", @@ -7514,7 +7591,7 @@ dependencies = [ "tokio-rustls", "tokio-util", "tower 0.5.3", - "tower-http 0.6.8", + "tower-http 0.6.11", "tower-service", "url", "wasm-bindgen", @@ -7535,7 +7612,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "hyper", @@ -7557,7 +7634,7 @@ dependencies = [ "tokio-rustls", "tokio-util", "tower 0.5.3", - "tower-http 0.6.8", + "tower-http 0.6.11", "tower-service", "url", "wasm-bindgen", @@ -7574,7 +7651,7 @@ checksum = "07bc3f1384cffa4f274dad2d4ddd73aed32fed8f786d96c6be8aa4e5fd3c3b58" dependencies = [ "anyhow", "async-trait", - "http 1.4.0", + "http 1.4.2", "reqwest 0.13.4", "thiserror 2.0.18", "tower-service", @@ -7590,7 +7667,7 @@ dependencies = [ "cfg-if 1.0.4", "getrandom 0.2.17", "libc", - "untrusted 0.9.0", + "untrusted", "windows-sys 0.52.0", ] @@ -7602,7 +7679,7 @@ checksum = "73389e0c99e664f919275ab5b5b0471391fe9a8de61e1dff9b1eaf56a90f16e3" dependencies = [ "bytecheck", "bytes", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "indexmap 2.14.0", "munge", "ptr_meta", @@ -7621,7 +7698,7 @@ checksum = "5d2ed0b54125315fb36bd021e82d314d1c126548f871634b483f46b31d13cac6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -7713,18 +7790,18 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.39" +version = "0.23.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2c118cb077cca2822033836dfb1b975355dfb784b5e8da48f7b6c5db74e60e" +checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" dependencies = [ "aws-lc-rs", "once_cell", @@ -7737,9 +7814,9 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" +checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d" dependencies = [ "openssl-probe", "rustls-pki-types", @@ -7775,7 +7852,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -7793,7 +7870,7 @@ dependencies = [ "aws-lc-rs", "ring", "rustls-pki-types", - "untrusted 0.9.0", + "untrusted", ] [[package]] @@ -7894,7 +7971,7 @@ version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -7950,14 +8027,14 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "serde_json" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ "itoa", "memchr", @@ -7985,7 +8062,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8011,11 +8088,12 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.18.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" +checksum = "76a5c54c7310e7b8b9577c286d7e399ddd876c3e12b3ed917a8aabc4b96e9e8c" dependencies = [ "base64", + "bs58", "chrono", "hex", "indexmap 1.9.3", @@ -8030,14 +8108,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.18.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" +checksum = "84d57bc0c8b9a17920c178daa6bb924850d54a9c97ab45194bb8c17ad66bb660" dependencies = [ "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8092,6 +8170,17 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha1" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" +dependencies = [ + "cfg-if 1.0.4", + "cpufeatures 0.3.0", + "digest 0.11.3", +] + [[package]] name = "sha2" version = "0.10.9" @@ -8112,7 +8201,7 @@ checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" dependencies = [ "cfg-if 1.0.4", "cpufeatures 0.3.0", - "digest 0.11.2", + "digest 0.11.3", ] [[package]] @@ -8146,16 +8235,16 @@ dependencies = [ [[package]] name = "shlex" -version = "1.3.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" [[package]] name = "sigma-tier-router" version = "0.1.0" dependencies = [ "causal-edge", - "lance-graph-contract", + "lance-graph-contract 0.1.0", ] [[package]] @@ -8200,23 +8289,11 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" -[[package]] -name = "simple_asn1" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d585997b0ac10be3c5ee635f1bab02d512760d14b7c468801ac8a01d9ae5f1d" -dependencies = [ - "num-bigint", - "num-traits", - "thiserror 2.0.18", - "time", -] - [[package]] name = "siphasher" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" [[package]] name = "slab" @@ -8226,9 +8303,9 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" -version = "1.15.1" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" [[package]] name = "snafu" @@ -8241,11 +8318,11 @@ dependencies = [ [[package]] name = "snafu" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1d4bced6a69f90b2056c03dcff2c4737f98d6fb9e0853493996e1d253ca29c6" +checksum = "d1a012328be2e3f5d5f6f3218147ca02588cea4cb865e876849ab6debcf36522" dependencies = [ - "snafu-derive 0.9.0", + "snafu-derive 0.9.1", ] [[package]] @@ -8257,19 +8334,19 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "snafu-derive" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54254b8531cafa275c5e096f62d48c81435d1015405a91198ddb11e967301d40" +checksum = "5f103c50866b8743da9429b8a581d81a27c2d3a9c4ac7df8f8571c1dd7896eda" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8290,12 +8367,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -8345,7 +8422,7 @@ checksum = "a6dd45d8fc1c79299bfbb7190e42ccbbdf6a5f52e4a6ad98d92357ea965bd289" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8364,7 +8441,7 @@ dependencies = [ "cfg-if 1.0.4", "libc", "psm", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -8438,7 +8515,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8450,7 +8527,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8462,7 +8539,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8477,7 +8554,7 @@ version = "0.1.0" dependencies = [ "futures", "lance", - "lance-graph-contract", + "lance-graph-contract 0.1.0", "lancedb", "snafu 0.8.9", "tempfile", @@ -8503,9 +8580,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.117" +version = "2.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422" dependencies = [ "proc-macro2", "quote", @@ -8529,7 +8606,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8552,7 +8629,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -8586,10 +8663,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.2", + "getrandom 0.4.3", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -8630,7 +8707,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8641,7 +8718,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8675,12 +8752,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.47" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +checksum = "85c17d80feb7334b40c484e45ed1a5273dfd8bfda537c3be2e74a06a6686f327" dependencies = [ "deranged", - "itoa", "num-conv", "powerfmt", "serde_core", @@ -8690,15 +8766,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" [[package]] name = "time-macros" -version = "0.2.27" +version = "0.2.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +checksum = "dcef1a61bdb119096e153208ec5cbec23944ce8bca13be5c7f60c634f7403935" dependencies = [ "num-conv", "time-core", @@ -8750,9 +8826,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.1" +version = "1.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" +checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" dependencies = [ "bytes", "libc", @@ -8760,7 +8836,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.6.3", + "socket2 0.6.4", "tokio-macros", "tracing", "windows-sys 0.61.2", @@ -8774,7 +8850,7 @@ checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8789,9 +8865,9 @@ dependencies = [ [[package]] name = "tokio-retry" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40f644c762e9d396831ae2f8935c954b0d758c4532e924bead0f666d0c1c8640" +checksum = "4a129d95275ebf4c493ec53bf0f8cd95f5ac161bc4f381700809a54f595d4470" dependencies = [ "pin-project-lite", "rand 0.10.1", @@ -8878,7 +8954,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d8aa1d26c1550eef93cfb2dafadc145b3220432dae8d156b5ba485880594ffe" dependencies = [ "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8926,14 +9002,14 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.25.11+spec-1.1.0" +version = "0.25.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" +checksum = "d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7" dependencies = [ "indexmap 2.14.0", "toml_datetime 1.1.1+spec-1.1.0", "toml_parser", - "winnow 1.0.2", + "winnow 1.0.3", ] [[package]] @@ -8942,7 +9018,7 @@ version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ - "winnow 1.0.2", + "winnow 1.0.3", ] [[package]] @@ -8957,7 +9033,7 @@ dependencies = [ "base64", "bytes", "h2", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "hyper", @@ -8986,7 +9062,7 @@ dependencies = [ "prost-build 0.13.5", "prost-types 0.13.5", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -9031,9 +9107,9 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "bytes", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "pin-project-lite", @@ -9043,25 +9119,25 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.8" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" dependencies = [ "async-compression", - "bitflags 2.11.1", + "bitflags 2.13.0", "bytes", "futures-core", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body 1.0.1", "http-body-util", - "iri-string", "pin-project-lite", "tokio", "tokio-util", "tower 0.5.3", "tower-layer", "tower-service", + "url", ] [[package]] @@ -9109,7 +9185,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -9179,11 +9255,11 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.4.0", + "http 1.4.2", "httparse", "log", "rand 0.8.6", - "sha1", + "sha1 0.10.6", "thiserror 1.0.69", "utf-8", ] @@ -9196,11 +9272,11 @@ checksum = "6c01152af293afb9c7c2a57e4b559c5620b421f6d133261c60dd2d0cdb38e6b8" dependencies = [ "bytes", "data-encoding", - "http 1.4.0", + "http 1.4.2", "httparse", "log", "rand 0.9.4", - "sha1", + "sha1 0.10.6", "thiserror 2.0.18", ] @@ -9230,14 +9306,14 @@ checksum = "076a02dc54dd46795c2e9c8282ed40bcfb1e22747e955de9389a1de28190fb26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "typenum" -version = "1.20.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" [[package]] name = "typewit" @@ -9274,9 +9350,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.13.2" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" +checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" [[package]] name = "unicode-width" @@ -9284,24 +9360,12 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - [[package]] name = "unsafe-libyaml" version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - [[package]] name = "untrusted" version = "0.9.0" @@ -9353,11 +9417,11 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.23.1" +version = "1.23.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" +checksum = "144d6b123cef80b301b8f72a9e2ca4370ddec21950d0a103dd22c437006d2db7" dependencies = [ - "getrandom 0.4.2", + "getrandom 0.4.3", "js-sys", "rand 0.10.1", "serde_core", @@ -9391,7 +9455,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -9454,20 +9518,11 @@ dependencies = [ [[package]] name = "wasip2" -version = "1.0.3+wasi-0.2.9" +version = "1.0.4+wasi-0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" dependencies = [ - "wit-bindgen 0.57.1", -] - -[[package]] -name = "wasip3" -version = "0.4.0+wasi-0.3.0-rc-2026-01-06" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" -dependencies = [ - "wit-bindgen 0.51.0", + "wit-bindgen", ] [[package]] @@ -9481,9 +9536,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.120" +version = "0.2.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df52b6d9b87e0c74c9edfa1eb2d9bf85e5d63515474513aa50fa181b3c4f5db1" +checksum = "8ddb3f79143bced6de84270411622a2699cee572fc0875aeaf1e7867cf9fca1a" dependencies = [ "cfg-if 1.0.4", "once_cell", @@ -9494,9 +9549,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.70" +version = "0.4.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af934872acec734c2d80e6617bbb5ff4f12b052dd8e6332b0817bce889516084" +checksum = "503b14d284f2c8dac03b819967e155ea753f573586193b2b2c95990cb5d69280" dependencies = [ "js-sys", "wasm-bindgen", @@ -9504,9 +9559,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.120" +version = "0.2.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b1041f495fb322e64aca85f5756b2172e35cd459376e67f2a6c9dffcedb103" +checksum = "4e21a184b13fb19e157296e2c46056aec9092264fab83e4ba59e68c61b323c3d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -9514,48 +9569,26 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.120" +version = "0.2.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dcd0ff20416988a18ac686d4d4d0f6aae9ebf08a389ff5d29012b05af2a1b41" +checksum = "fecefd9c35bd935a20fc3fc344b5f29138961e4f47fb03297d88f2587afb5ebd" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.120" +version = "0.2.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49757b3c82ebf16c57d69365a142940b384176c24df52a087fb748e2085359ea" +checksum = "23939e44bb9a5d7576fa2b563dc2e136628f1224e88a8deed09e04858b77871f" dependencies = [ "unicode-ident", ] -[[package]] -name = "wasm-encoder" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" -dependencies = [ - "leb128fmt", - "wasmparser", -] - -[[package]] -name = "wasm-metadata" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" -dependencies = [ - "anyhow", - "indexmap 2.14.0", - "wasm-encoder", - "wasmparser", -] - [[package]] name = "wasm-streams" version = "0.4.2" @@ -9582,23 +9615,11 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasmparser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" -dependencies = [ - "bitflags 2.11.1", - "hashbrown 0.15.5", - "indexmap 2.14.0", - "semver", -] - [[package]] name = "web-sys" -version = "0.3.97" +version = "0.3.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eadbac71025cd7b0834f20d1fe8472e8495821b4e9801eb0a60bd1f19827602" +checksum = "a6430a72df5eb332242960fe84b3002a241163998241eb596d4f739b9757061d" dependencies = [ "js-sys", "wasm-bindgen", @@ -9616,9 +9637,9 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31141ce3fc3e300ae89b78c0dd67f9708061d1d2eda54b8209346fd6be9a92c" +checksum = "0d46a5a140e6f7afeccd8eae97eff335163939eac8b929834875168b29b3d267" dependencies = [ "rustls-pki-types", ] @@ -9658,7 +9679,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -9720,7 +9741,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -9731,7 +9752,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -9955,9 +9976,9 @@ dependencies = [ [[package]] name = "winnow" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" +checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1" dependencies = [ "memchr", ] @@ -9972,7 +9993,7 @@ dependencies = [ "base64", "deadpool", "futures", - "http 1.4.0", + "http 1.4.2", "http-body-util", "hyper", "hyper-util", @@ -9985,100 +10006,12 @@ dependencies = [ "url", ] -[[package]] -name = "wit-bindgen" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -dependencies = [ - "wit-bindgen-rust-macro", -] - [[package]] name = "wit-bindgen" version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" -[[package]] -name = "wit-bindgen-core" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" -dependencies = [ - "anyhow", - "heck", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck", - "indexmap 2.14.0", - "prettyplease", - "syn 2.0.117", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" -dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.117", - "wit-bindgen-core", - "wit-bindgen-rust", -] - -[[package]] -name = "wit-component" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" -dependencies = [ - "anyhow", - "bitflags 2.11.1", - "indexmap 2.14.0", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", -] - -[[package]] -name = "wit-parser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" -dependencies = [ - "anyhow", - "id-arena", - "indexmap 2.14.0", - "log", - "semver", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser", -] - [[package]] name = "wkb" version = "0.9.2" @@ -10132,7 +10065,7 @@ dependencies = [ "clap", "crc32fast", "futures", - "http 1.4.0", + "http 1.4.2", "hyper", "lazy_static", "more-asserts", @@ -10173,7 +10106,7 @@ dependencies = [ "csv", "futures", "futures-util", - "getrandom 0.4.2", + "getrandom 0.4.3", "heapify", "itertools 0.14.0", "lazy_static", @@ -10206,7 +10139,7 @@ dependencies = [ "chrono", "clap", "gearhash", - "http 1.4.0", + "http 1.4.2", "itertools 0.14.0", "lazy_static", "more-asserts", @@ -10280,9 +10213,9 @@ checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] name = "yoke" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" +checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -10297,7 +10230,7 @@ checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "synstructure", ] @@ -10309,29 +10242,29 @@ checksum = "c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675" [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "zerofrom" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" dependencies = [ "zerofrom-derive", ] @@ -10344,29 +10277,15 @@ checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.3" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] +checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" [[package]] name = "zerotrie" @@ -10398,14 +10317,14 @@ checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "zlib-rs" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be3d40e40a133f9c916ee3f9f4fa2d9d63435b5fbe1bfc6d9dae0aa0ada1513" +checksum = "977347db8caa080403f6b6b7c1cda9479a8e869316f7e13a59b19076a40f94e3" [[package]] name = "zmij" @@ -10444,4 +10363,4 @@ dependencies = [ [[patch.unused]] name = "ndarray" version = "0.17.2" -source = "git+https://github.com/AdaWorldAPI/ndarray.git?branch=master#0129b5c80cee8d88fdae97be813524328e4d025a" +source = "git+https://github.com/AdaWorldAPI/ndarray.git?branch=master#f22a28b2488677126a3bad0440b1967ab91cb1a8" diff --git a/crates/lance-graph-ogar/src/bridges/medcare_bridge.rs b/crates/lance-graph-ogar/src/bridges/medcare_bridge.rs index 9b3470fe..7c8c7412 100644 --- a/crates/lance-graph-ogar/src/bridges/medcare_bridge.rs +++ b/crates/lance-graph-ogar/src/bridges/medcare_bridge.rs @@ -28,8 +28,8 @@ use crate::bridges::unified::UnifiedBridge; // `HealthcarePort::NAMESPACE` / `::aliases()` are `PortSpec` associated // items — the trait must be in scope for the resolution to work (codex // P1 on PR #570). Same import in the test module below. -use ogar_vocab::ports::PortSpec; pub use ogar_vocab::ports::HealthcarePort; +use ogar_vocab::ports::PortSpec; /// MedCare `NamespaceBridge` — alias over the generic harness, locked to /// the `Healthcare` namespace via [`HealthcarePort`]. diff --git a/crates/lance-graph-ogar/src/bridges/mod.rs b/crates/lance-graph-ogar/src/bridges/mod.rs index aec092c6..47f77150 100644 --- a/crates/lance-graph-ogar/src/bridges/mod.rs +++ b/crates/lance-graph-ogar/src/bridges/mod.rs @@ -5,8 +5,9 @@ //! `ogar_vocab::class_ids` (the OGAR codebook + `PortSpec` class schema), //! so they live here in `lance-graph-ogar`, NOT in `lance-graph-ontology` //! (which is OGIT and must not depend on `ogar-vocab`). The OGIT-side -//! legacy bridges (`WoaBridge` / `SpearBridge` / `SharePointBridge` / -//! `OgitBridge`) stay in `lance_graph_ontology::bridges`. +//! legacy bridges (`SpearBridge` / `SharePointBridge` / `OgitBridge` + +//! the legacy `WoaBridge` pass-through) stay in +//! `lance_graph_ontology::bridges`. //! //! # Two layers //! @@ -17,7 +18,8 @@ //! `ogar_vocab::ports::PortSpec`. Adding a port is `impl PortSpec for //! FooPort {…}` in OGAR — no bridge boilerplate here. //! - The **per-port aliases** ([`OpenProjectBridge`], [`RedmineBridge`], -//! [`MedcareBridge`]) are thin `type` aliases over the harness. +//! [`MedcareBridge`], [`WoaBridge`], [`SmbBridge`], [`OdooBridge`]) are +//! thin `type` aliases over the harness. //! //! # OGAR-driven ports (`UnifiedBridge

` aliases) //! @@ -28,23 +30,46 @@ //! - [`RedmineBridge`]: `UnifiedBridge` — //! locks to the `Redmine` namespace. `Issue` / `TimeEntry` / `Project` //! etc. resolve to the SAME OGAR canonical class_ids as the -//! OpenProject equivalents, so cross-fork convergence is the default -//! not the exception. +//! OpenProject equivalents. //! - [`MedcareBridge`]: `UnifiedBridge` //! — locks to the `Healthcare` namespace. `Patient` / `Diagnosis` / //! `LabValue` / `Medication` / `Treatment` / `Visit` / `VitalSign` //! resolve to the `0x09XX` Health codebook (Northstar T9). +//! - [`WoaBridge`]: `UnifiedBridge` — locks +//! to the `WorkOrder` namespace. `Customer` / `Vorgang` / `Position` / +//! `Stundenzettel` / `TimesheetActivity` / `TimeEntry` etc. resolve to +//! the canonical commerce `0x02XX` block + `BILLABLE_WORK_ENTRY` +//! (0x0103). The planner-side `TimeEntry` (OpenProject/Redmine) and +//! the WoA `Stundenzettel` collapse to the same id — the operator's +//! *"planner times align with billable hours"* statement realised as +//! data. +//! - [`SmbBridge`]: `UnifiedBridge` — locks +//! to the `SMB` namespace. `Kunde` / `Auftrag` / `Rechnung` / +//! `Stundenzettel` etc. resolve to the SAME commerce block + same +//! `BILLABLE_WORK_ENTRY`, giving smb-office-rs cross-fork convergence +//! with WoA + OpenProject + Odoo. +//! - [`OdooBridge`]: `UnifiedBridge` — +//! locks to the `Odoo` namespace. Odoo's Python class names +//! (`res.partner` / `account.move` / `account.move.line` / +//! `hr.attendance` / …) resolve to the same canonical block. +//! Closes the planner→ERP→billing convergence chain at every hop. pub mod unified; mod medcare_bridge; +mod odoo_bridge; mod openproject_bridge; mod redmine_bridge; +mod smb_bridge; +mod woa_bridge; pub use medcare_bridge::{HealthcarePort, MedcareBridge}; +pub use odoo_bridge::{OdooBridge, OdooPort}; pub use openproject_bridge::{OpenProjectBridge, OpenProjectPort}; pub use redmine_bridge::{RedmineBridge, RedminePort}; +pub use smb_bridge::{SmbBridge, SmbPort}; pub use unified::UnifiedBridge; +pub use woa_bridge::{WoaBridge, WoaPort}; // Compatibility shims for the pre-migration constants. `bridges` // previously re-exported `OPENPROJECT_CODEBOOK` / `REDMINE_CODEBOOK` diff --git a/crates/lance-graph-ogar/src/bridges/odoo_bridge.rs b/crates/lance-graph-ogar/src/bridges/odoo_bridge.rs new file mode 100644 index 00000000..5dc7381c --- /dev/null +++ b/crates/lance-graph-ogar/src/bridges/odoo_bridge.rs @@ -0,0 +1,116 @@ +//! Odoo (ERP) tenant bridge — thin type alias over +//! [`crate::bridges::unified::UnifiedBridge`] parameterised by +//! [`ogar_vocab::ports::OdooPort`]. +//! +//! Odoo's OGAR-driven port surface (OGAR PR #94, 2026-06-21). Companion +//! to the [`lance_graph_supervisor::actors::OdooConsumerActor`] +//! skeleton (lance-graph activation profile, supervisor slot G=50) and +//! the four-way alignment seam in +//! `lance_graph_callcenter::odoo_alignment` (Seam decision 1 / +//! Option B — odoo inherits FIBO/SKR family slots via +//! `owl:equivalentClass` routing; no new CAM codebook family minted). +//! +//! # The convergence pin (operator value statement 2026-06-21) +//! +//! Odoo's `HrAttendance` and `account.move.line(qty=hours)` resolve to +//! the SAME canonical [`ogar_vocab::class_ids::BILLABLE_WORK_ENTRY`] +//! the planner consumers (OpenProject `TimeEntry`, Redmine `TimeEntry`) +//! and the German ERP consumers (WoA `Stundenzettel`, SMB +//! `Stundenzettel`) all resolve to. The planner→ERP→billing chain +//! collapses into one codebook lookup at every hop. + +use crate::bridges::unified::UnifiedBridge; +pub use ogar_vocab::ports::OdooPort; +use ogar_vocab::ports::PortSpec; + +/// Odoo `NamespaceBridge` — alias over the generic harness, locked to +/// the `Odoo` namespace via [`OdooPort`]. +pub type OdooBridge = UnifiedBridge; + +/// Canonical namespace name for Odoo. Mirrors `OdooPort::NAMESPACE`. +pub const NAMESPACE: &str = OdooPort::NAMESPACE; + +#[cfg(test)] +mod tests { + use super::*; + use lance_graph_ontology::bridge::{BridgeError, NamespaceBridge}; + use lance_graph_ontology::error::Error; + use lance_graph_ontology::namespace::NamespaceId; + use lance_graph_ontology::registry::OntologyRegistry; + use ogar_vocab::ports::PortSpec; + use std::fs; + use std::sync::Arc; + + fn registry_with_odoo() -> Arc { + let ttl = r#" +@prefix ogit: . +@prefix ogit.Odoo: . +@prefix rdfs: . + +ogit.Odoo:Partner + a rdfs:Class; + rdfs:subClassOf ogit:Entity; + rdfs:label "Partner"; + ogit:scope "NTO"; + ogit:parent ogit:Node; + ogit:mandatory-attributes ( ogit:id ); + ogit:optional-attributes ( ) ; +. +"#; + let tmp = tempfile::tempdir().unwrap(); + fs::create_dir_all(tmp.path().join("Odoo")).unwrap(); + fs::write(tmp.path().join("Odoo").join("ents.ttl"), ttl).unwrap(); + let registry = Arc::new(OntologyRegistry::new_in_memory()); + registry.hydrate_once_sync(tmp.path(), &["Odoo"]).unwrap(); + registry + } + + #[test] + fn new_succeeds_when_namespace_registered() { + let registry = registry_with_odoo(); + let bridge = OdooBridge::new(registry).unwrap(); + assert_ne!(bridge.g_lock(), NamespaceId::UNKNOWN); + } + + #[test] + fn new_returns_unknown_namespace_when_not_registered() { + let registry = Arc::new(OntologyRegistry::new_in_memory()); + match OdooBridge::new(registry) { + Ok(_) => panic!("expected UnknownNamespace, got Ok(_)"), + Err(Error::UnknownNamespace(name)) => assert_eq!(name, "Odoo"), + Err(other) => panic!("expected UnknownNamespace, got {other:?}"), + } + } + + #[test] + fn bridge_id_is_lowercase_odoo() { + let bridge = OdooBridge::new(registry_with_odoo()).unwrap(); + assert_eq!(bridge.bridge_id(), "odoo"); + } + + #[test] + fn entity_for_each_codebook_entry_returns_its_canonical_class_id() { + let bridge = OdooBridge::new(registry_with_odoo()).unwrap(); + for &(public_name, expected_id) in OdooPort::aliases() { + let entity = bridge.entity(public_name).unwrap_or_else(|e| { + panic!("codebook entry `{public_name}` failed to resolve: {e:?}") + }); + assert_eq!( + entity.schema_ptr.entity_type_id(), + expected_id, + "codebook entry `{public_name}` should resolve to 0x{expected_id:04X}", + ); + } + } + + #[test] + fn entity_for_non_codebook_name_falls_back_to_registry_lookup() { + let bridge = OdooBridge::new(registry_with_odoo()).unwrap(); + match bridge.entity("NotAConcept") { + Err(BridgeError::NotInScope { public_name, .. }) => { + assert_eq!(public_name, "NotAConcept") + } + other => panic!("expected NotInScope, got {other:?}"), + } + } +} diff --git a/crates/lance-graph-ogar/src/bridges/openproject_bridge.rs b/crates/lance-graph-ogar/src/bridges/openproject_bridge.rs index 5cfdb166..cf40d6cc 100644 --- a/crates/lance-graph-ogar/src/bridges/openproject_bridge.rs +++ b/crates/lance-graph-ogar/src/bridges/openproject_bridge.rs @@ -18,8 +18,8 @@ use crate::bridges::unified::UnifiedBridge; // `OpenProjectPort::NAMESPACE` / `::aliases()` are `PortSpec` // associated items — the trait must be in scope for the resolution to // work (codex P1 on PR #570). Same import in the test module below. -use ogar_vocab::ports::PortSpec; pub use ogar_vocab::ports::OpenProjectPort; +use ogar_vocab::ports::PortSpec; /// OpenProject `NamespaceBridge` — alias over the generic harness. pub type OpenProjectBridge = UnifiedBridge; diff --git a/crates/lance-graph-ogar/src/bridges/smb_bridge.rs b/crates/lance-graph-ogar/src/bridges/smb_bridge.rs new file mode 100644 index 00000000..da4bbbcc --- /dev/null +++ b/crates/lance-graph-ogar/src/bridges/smb_bridge.rs @@ -0,0 +1,143 @@ +//! SMB (small-and-medium-business German office ERP) tenant bridge — +//! thin type alias over [`crate::bridges::unified::UnifiedBridge`] +//! parameterised by [`ogar_vocab::ports::SmbPort`]. +//! +//! SMB's OGAR-driven port surface (OGAR PR #93, 2026-06-21). The legacy +//! OGIT-side [`lance_graph_ontology::bridges::OgitBridge`] (pass-through +//! for raw OGIT URIs) stays in place for tools that don't need codebook +//! synthesis; this OGAR-side bridge gives smb-office-rs cross-fork +//! convergence with WoA + OpenProject + Odoo on the canonical class_ids. +//! +//! # The convergence pin (operator value statement 2026-06-21) +//! +//! SMB's `Stundenzettel` / `TimeEntry` / `Zeiterfassung` resolve to +//! [`ogar_vocab::class_ids::BILLABLE_WORK_ENTRY`] via this bridge's +//! `entity()` codebook synthesis path — the SAME id WoA's Stundenzettel, +//! OpenProject's TimeEntry, and Odoo's HrAttendance / account.move.line +//! (qty=hours) resolve to. *"Planner times align with billable hours"* +//! becomes a codebook lookup, not a translation layer. See +//! `ogar_vocab::ports::tests::time_entry_converges_across_planner_and_erp_ports`. + +use crate::bridges::unified::UnifiedBridge; +use ogar_vocab::ports::PortSpec; +pub use ogar_vocab::ports::SmbPort; + +/// SMB `NamespaceBridge` — alias over the generic harness, locked to +/// the `SMB` namespace via [`SmbPort`]. +pub type SmbBridge = UnifiedBridge; + +/// Canonical namespace name for SMB. Mirrors `SmbPort::NAMESPACE`. +pub const NAMESPACE: &str = SmbPort::NAMESPACE; + +#[cfg(test)] +mod tests { + use super::*; + use lance_graph_ontology::bridge::{BridgeError, NamespaceBridge}; + use lance_graph_ontology::error::Error; + use lance_graph_ontology::namespace::NamespaceId; + use lance_graph_ontology::registry::OntologyRegistry; + use ogar_vocab::class_ids; + use ogar_vocab::ports::PortSpec; + use std::fs; + use std::sync::Arc; + + fn registry_with_smb() -> Arc { + let ttl = r#" +@prefix ogit: . +@prefix ogit.SMB: . +@prefix rdfs: . + +ogit.SMB:Kunde + a rdfs:Class; + rdfs:subClassOf ogit:Entity; + rdfs:label "Kunde"; + ogit:scope "NTO"; + ogit:parent ogit:Node; + ogit:mandatory-attributes ( ogit:id ); + ogit:optional-attributes ( ) ; +. +"#; + let tmp = tempfile::tempdir().unwrap(); + fs::create_dir_all(tmp.path().join("SMB")).unwrap(); + fs::write(tmp.path().join("SMB").join("ents.ttl"), ttl).unwrap(); + let registry = Arc::new(OntologyRegistry::new_in_memory()); + registry.hydrate_once_sync(tmp.path(), &["SMB"]).unwrap(); + registry + } + + #[test] + fn new_succeeds_when_namespace_registered() { + let registry = registry_with_smb(); + let bridge = SmbBridge::new(registry).unwrap(); + assert_ne!(bridge.g_lock(), NamespaceId::UNKNOWN); + } + + #[test] + fn new_returns_unknown_namespace_when_not_registered() { + let registry = Arc::new(OntologyRegistry::new_in_memory()); + match SmbBridge::new(registry) { + Ok(_) => panic!("expected UnknownNamespace, got Ok(_)"), + Err(Error::UnknownNamespace(name)) => assert_eq!(name, "SMB"), + Err(other) => panic!("expected UnknownNamespace, got {other:?}"), + } + } + + #[test] + fn bridge_id_is_lowercase_smb() { + let bridge = SmbBridge::new(registry_with_smb()).unwrap(); + assert_eq!(bridge.bridge_id(), "smb"); + } + + #[test] + fn entity_resolves_kunde_to_canonical_billing_party_class_id() { + let bridge = SmbBridge::new(registry_with_smb()).unwrap(); + let entity = bridge.entity("Kunde").unwrap(); + assert_eq!(entity.schema_ptr.entity_type_id(), class_ids::BILLING_PARTY); + assert_eq!(entity.schema_ptr.entity_type_id(), 0x0204); + } + + #[test] + fn entity_resolves_stundenzettel_to_billable_work_entry_planner_convergence() { + let bridge = SmbBridge::new(registry_with_smb()).unwrap(); + for public_name in ["Stundenzettel", "TimeEntry", "Zeiterfassung"] { + let entity = bridge + .entity(public_name) + .unwrap_or_else(|e| panic!("{public_name}: {e:?}")); + assert_eq!( + entity.schema_ptr.entity_type_id(), + class_ids::BILLABLE_WORK_ENTRY, + "SMB `{public_name}` must resolve to BILLABLE_WORK_ENTRY (planner-ERP convergence)", + ); + } + } + + #[test] + fn entity_for_each_codebook_entry_returns_its_canonical_class_id() { + let bridge = SmbBridge::new(registry_with_smb()).unwrap(); + for &(public_name, expected_id) in SmbPort::aliases() { + let entity = bridge.entity(public_name).unwrap_or_else(|e| { + panic!("codebook entry `{public_name}` failed to resolve: {e:?}") + }); + assert_eq!( + entity.schema_ptr.entity_type_id(), + expected_id, + "codebook entry `{public_name}` should resolve to 0x{expected_id:04X}", + ); + } + } + + #[test] + fn entity_for_non_codebook_name_falls_back_to_registry_lookup() { + let bridge = SmbBridge::new(registry_with_smb()).unwrap(); + match bridge.entity("Artikel") { + // Artikel/Product/SKU isn't in the codebook yet (intentional — + // needs a `0x02XX` codebook extension). Until then it falls + // through to the registry-resolution path which returns + // NotInScope because the TTL fixture only hydrates `Kunde`. + Err(BridgeError::NotInScope { public_name, .. }) => { + assert_eq!(public_name, "Artikel") + } + other => panic!("expected NotInScope, got {other:?}"), + } + } +} diff --git a/crates/lance-graph-ogar/src/bridges/unified.rs b/crates/lance-graph-ogar/src/bridges/unified.rs index ba485a28..5f3288e0 100644 --- a/crates/lance-graph-ogar/src/bridges/unified.rs +++ b/crates/lance-graph-ogar/src/bridges/unified.rs @@ -89,8 +89,8 @@ impl UnifiedBridge

{ /// on the convergence contract. fn synthesize_codebook_entity(&self, class_id: u16) -> EntityRef { let ctx_id = NamespaceRegistry::seed_context_id(P::NAMESPACE).unwrap_or(0); - let schema_ptr = SchemaPtr::new(self.g_lock, class_id, SchemaKind::Entity) - .with_context_id(ctx_id); + let schema_ptr = + SchemaPtr::new(self.g_lock, class_id, SchemaKind::Entity).with_context_id(ctx_id); EntityRef { schema_ptr } } } @@ -144,13 +144,13 @@ impl NamespaceBridge for UnifiedBridge

{ } } } - let ptr = self - .registry() - .resolve_uri(uri.as_str()) - .ok_or_else(|| BridgeError::NotInScope { - bridge_id: self.bridge_id_static(), - public_name: uri.as_str().to_string(), - })?; + let ptr = + self.registry() + .resolve_uri(uri.as_str()) + .ok_or_else(|| BridgeError::NotInScope { + bridge_id: self.bridge_id_static(), + public_name: uri.as_str().to_string(), + })?; if ptr.namespace_id() != self.g_lock() { return Err(BridgeError::CrossNamespaceLeak { bridge_id: self.bridge_id_static(), diff --git a/crates/lance-graph-ogar/src/bridges/woa_bridge.rs b/crates/lance-graph-ogar/src/bridges/woa_bridge.rs new file mode 100644 index 00000000..7b0c29b7 --- /dev/null +++ b/crates/lance-graph-ogar/src/bridges/woa_bridge.rs @@ -0,0 +1,159 @@ +//! WoA (work-order management) tenant bridge — thin type alias over +//! [`crate::bridges::unified::UnifiedBridge`] parameterised by +//! [`ogar_vocab::ports::WoaPort`]. +//! +//! WoA's OGAR-driven port surface (OGAR PR #93, 2026-06-21). The legacy +//! OGIT-only [`lance_graph_ontology::bridges::WoaBridge`] stays in place +//! for tools that still resolve raw `ogit.WorkOrder:*` URIs through the +//! registry without codebook synthesis; this OGAR-side bridge gives +//! consumers cross-fork-convergent class_ids per the doctrine +//! `docs/OGAR_AR_SHAPE_ENDGAME.md` (*"Curators teach. OGAR compiles. +//! LanceGraph thinks. Adapters obey."*). +//! +//! # The convergence pin (operator value statement 2026-06-21) +//! +//! Planner-side `TimeEntry` (OpenProject/Redmine) and ERP-side +//! `Stundenzettel` / `TimesheetActivity` / `Zeiterfassung` (WoA) all +//! resolve to [`ogar_vocab::class_ids::BILLABLE_WORK_ENTRY`] via this +//! bridge's `entity()` codebook synthesis path. That's the operator's +//! *"planner times align with billable hours"* statement realised as +//! data — the planner→ERP integration is a codebook lookup, not a +//! translation layer. See `ogar_vocab::ports::tests:: +//! time_entry_converges_across_planner_and_erp_ports` for the +//! cross-port pin. + +use crate::bridges::unified::UnifiedBridge; +// `WoaPort::NAMESPACE` / `::aliases()` are `PortSpec` associated items — +// the trait must be in scope for the resolution to work (same codex P1 +// fix as MedcareBridge). +use ogar_vocab::ports::PortSpec; +pub use ogar_vocab::ports::WoaPort; + +/// WoA `NamespaceBridge` — alias over the generic harness, locked to +/// the `WorkOrder` namespace via [`WoaPort`]. +pub type WoaBridge = UnifiedBridge; + +/// Canonical namespace name for WoA. Mirrors `WoaPort::NAMESPACE`. +pub const NAMESPACE: &str = WoaPort::NAMESPACE; + +#[cfg(test)] +mod tests { + use super::*; + use lance_graph_ontology::bridge::{BridgeError, NamespaceBridge}; + use lance_graph_ontology::error::Error; + use lance_graph_ontology::namespace::NamespaceId; + use lance_graph_ontology::registry::OntologyRegistry; + use ogar_vocab::class_ids; + use ogar_vocab::ports::PortSpec; + use std::fs; + use std::sync::Arc; + + fn registry_with_workorder() -> Arc { + let ttl = r#" +@prefix ogit: . +@prefix ogit.WorkOrder: . +@prefix rdfs: . + +ogit.WorkOrder:Customer + a rdfs:Class; + rdfs:subClassOf ogit:Entity; + rdfs:label "Customer"; + ogit:scope "NTO"; + ogit:parent ogit:Node; + ogit:mandatory-attributes ( ogit:id ); + ogit:optional-attributes ( ) ; +. +"#; + let tmp = tempfile::tempdir().unwrap(); + fs::create_dir_all(tmp.path().join("WorkOrder")).unwrap(); + fs::write(tmp.path().join("WorkOrder").join("ents.ttl"), ttl).unwrap(); + let registry = Arc::new(OntologyRegistry::new_in_memory()); + registry + .hydrate_once_sync(tmp.path(), &["WorkOrder"]) + .unwrap(); + registry + } + + #[test] + fn new_succeeds_when_namespace_registered() { + let registry = registry_with_workorder(); + let bridge = WoaBridge::new(registry).unwrap(); + assert_ne!(bridge.g_lock(), NamespaceId::UNKNOWN); + } + + #[test] + fn new_returns_unknown_namespace_when_not_registered() { + let registry = Arc::new(OntologyRegistry::new_in_memory()); + match WoaBridge::new(registry) { + Ok(_) => panic!("expected UnknownNamespace, got Ok(_)"), + Err(Error::UnknownNamespace(name)) => assert_eq!(name, "WorkOrder"), + Err(other) => panic!("expected UnknownNamespace, got {other:?}"), + } + } + + #[test] + fn bridge_id_is_lowercase_woa() { + let bridge = WoaBridge::new(registry_with_workorder()).unwrap(); + assert_eq!(bridge.bridge_id(), "woa"); + } + + #[test] + fn entity_resolves_customer_to_canonical_billing_party_class_id() { + let bridge = WoaBridge::new(registry_with_workorder()).unwrap(); + let entity = bridge.entity("Customer").unwrap(); + assert_eq!(entity.schema_ptr.entity_type_id(), class_ids::BILLING_PARTY); + assert_eq!(entity.schema_ptr.entity_type_id(), 0x0204); + } + + #[test] + fn entity_resolves_stundenzettel_to_billable_work_entry_planner_convergence() { + // The operator's value statement (2026-06-21): WoA's Stundenzettel + // and OpenProject's TimeEntry resolve to the SAME canonical id. + // Cross-port convergence is asserted in + // `ogar_vocab::ports::tests::time_entry_converges_across_planner_and_erp_ports`; + // this bridge-side test confirms the synthesis path on the entity + // resolver actually returns the canonical id. + let bridge = WoaBridge::new(registry_with_workorder()).unwrap(); + for public_name in [ + "Stundenzettel", + "TimesheetActivity", + "TimeEntry", + "Zeiterfassung", + ] { + let entity = bridge + .entity(public_name) + .unwrap_or_else(|e| panic!("{public_name}: {e:?}")); + assert_eq!( + entity.schema_ptr.entity_type_id(), + class_ids::BILLABLE_WORK_ENTRY, + "WoA `{public_name}` must resolve to BILLABLE_WORK_ENTRY (planner-ERP convergence)", + ); + } + } + + #[test] + fn entity_for_each_codebook_entry_returns_its_canonical_class_id() { + let bridge = WoaBridge::new(registry_with_workorder()).unwrap(); + for &(public_name, expected_id) in WoaPort::aliases() { + let entity = bridge.entity(public_name).unwrap_or_else(|e| { + panic!("codebook entry `{public_name}` failed to resolve: {e:?}") + }); + assert_eq!( + entity.schema_ptr.entity_type_id(), + expected_id, + "codebook entry `{public_name}` should resolve to 0x{expected_id:04X}", + ); + } + } + + #[test] + fn entity_for_non_codebook_name_falls_back_to_registry_lookup() { + let bridge = WoaBridge::new(registry_with_workorder()).unwrap(); + match bridge.entity("NotAConcept") { + Err(BridgeError::NotInScope { public_name, .. }) => { + assert_eq!(public_name, "NotAConcept") + } + other => panic!("expected NotInScope, got {other:?}"), + } + } +} diff --git a/crates/lance-graph-ogar/tests/bridge_codebook_convergence.rs b/crates/lance-graph-ogar/tests/bridge_codebook_convergence.rs index aaa78c46..7fd0deed 100644 --- a/crates/lance-graph-ogar/tests/bridge_codebook_convergence.rs +++ b/crates/lance-graph-ogar/tests/bridge_codebook_convergence.rs @@ -19,8 +19,8 @@ //! `lance_graph_ontology::bridges::codebook::*` constants. use lance_graph_ogar::bridges::{OpenProjectBridge, RedmineBridge}; -use ogar_vocab::class_ids as codebook; use lance_graph_ontology::{NamespaceBridge, OntologyRegistry}; +use ogar_vocab::class_ids as codebook; use std::fs; use std::sync::Arc; @@ -129,7 +129,10 @@ fn status_and_type_alias_pairs_converge_through_each_ports_naming() { assert_eq!( op.entity("Status").unwrap().schema_ptr.entity_type_id(), - rm.entity("IssueStatus").unwrap().schema_ptr.entity_type_id(), + rm.entity("IssueStatus") + .unwrap() + .schema_ptr + .entity_type_id(), ); assert_eq!( op.entity("Status").unwrap().schema_ptr.entity_type_id(),