ltcai 11.2.0 → 11.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/README.md +46 -53
  2. package/docs/CHANGELOG.md +61 -0
  3. package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
  4. package/docs/DEVELOPMENT.md +1 -1
  5. package/docs/MULTI_AGENT_RUNTIME.md +1 -1
  6. package/docs/ONBOARDING.md +1 -1
  7. package/docs/OPERATIONS.md +6 -2
  8. package/docs/PERMISSION_MODE.md +1 -1
  9. package/docs/TRUST_MODEL.md +1 -1
  10. package/docs/WHY_LATTICE.md +1 -1
  11. package/docs/kg-schema.md +2 -2
  12. package/docs/v11.3.0_PLAN.md +202 -0
  13. package/docs/v11.4.0_RUST_FOUNDATION_PLAN.md +176 -0
  14. package/lattice_brain/__init__.py +1 -1
  15. package/lattice_brain/graph/_kg_common/__init__.py +287 -0
  16. package/lattice_brain/graph/_kg_common/extraction.py +516 -0
  17. package/lattice_brain/graph/_kg_common/relations.py +161 -0
  18. package/lattice_brain/graph/_kg_common/text.py +479 -0
  19. package/lattice_brain/graph/discovery_index/__init__.py +35 -0
  20. package/lattice_brain/graph/discovery_index/cleanup.py +182 -0
  21. package/lattice_brain/graph/discovery_index/extract.py +137 -0
  22. package/lattice_brain/graph/discovery_index/scan.py +411 -0
  23. package/lattice_brain/graph/discovery_index/upsert.py +495 -0
  24. package/lattice_brain/graph/projection/__init__.py +42 -0
  25. package/lattice_brain/graph/projection/curation.py +500 -0
  26. package/lattice_brain/graph/{projection.py → projection/v2_schema.py} +15 -477
  27. package/lattice_brain/graph/retrieval/__init__.py +54 -0
  28. package/lattice_brain/graph/retrieval/context.py +197 -0
  29. package/lattice_brain/graph/retrieval/graph_view.py +319 -0
  30. package/lattice_brain/graph/retrieval/hybrid.py +488 -0
  31. package/lattice_brain/graph/retrieval/maintenance.py +121 -0
  32. package/lattice_brain/graph/retrieval/signals.py +95 -0
  33. package/lattice_brain/graph/retrieval_vector/__init__.py +42 -0
  34. package/lattice_brain/graph/retrieval_vector/fingerprint.py +97 -0
  35. package/lattice_brain/graph/retrieval_vector/indexing.py +347 -0
  36. package/lattice_brain/graph/retrieval_vector/search.py +560 -0
  37. package/lattice_brain/graph/retrieval_vector/status.py +374 -0
  38. package/lattice_brain/ingestion/__init__.py +130 -0
  39. package/lattice_brain/ingestion/_contract.py +90 -0
  40. package/lattice_brain/ingestion/constants.py +127 -0
  41. package/lattice_brain/ingestion/folder_scan.py +57 -0
  42. package/lattice_brain/ingestion/folders.py +258 -0
  43. package/lattice_brain/ingestion/hashing.py +26 -0
  44. package/lattice_brain/ingestion/jobs_api.py +107 -0
  45. package/lattice_brain/ingestion/models.py +80 -0
  46. package/lattice_brain/ingestion/pipeline.py +486 -0
  47. package/lattice_brain/ingestion/quality.py +209 -0
  48. package/lattice_brain/ingestion/routing.py +295 -0
  49. package/lattice_brain/multimodal/__init__.py +164 -0
  50. package/lattice_brain/multimodal/audio.py +77 -0
  51. package/lattice_brain/multimodal/common.py +118 -0
  52. package/lattice_brain/multimodal/images.py +498 -0
  53. package/lattice_brain/multimodal/ports.py +169 -0
  54. package/lattice_brain/multimodal/video.py +410 -0
  55. package/lattice_brain/portability/__init__.py +90 -0
  56. package/lattice_brain/portability/_contract.py +42 -0
  57. package/lattice_brain/portability/backups.py +338 -0
  58. package/lattice_brain/portability/bundles.py +136 -0
  59. package/lattice_brain/portability/constants.py +93 -0
  60. package/lattice_brain/portability/fsops.py +138 -0
  61. package/lattice_brain/portability/service.py +41 -0
  62. package/lattice_brain/{portability.py → portability/sharing.py} +44 -677
  63. package/lattice_brain/runtime/__init__.py +1 -1
  64. package/lattice_brain/runtime/multi_agent.py +1 -1
  65. package/latticeai/__init__.py +1 -1
  66. package/latticeai/api/chronicle.py +63 -0
  67. package/latticeai/core/agent/__init__.py +93 -0
  68. package/latticeai/core/agent/_contract.py +79 -0
  69. package/latticeai/core/agent/context.py +57 -0
  70. package/latticeai/core/agent/deps.py +125 -0
  71. package/latticeai/core/agent/execution.py +622 -0
  72. package/latticeai/core/agent/planning.py +145 -0
  73. package/latticeai/core/agent/recovery.py +157 -0
  74. package/latticeai/core/agent/runtime.py +210 -0
  75. package/latticeai/core/agent/verification.py +231 -0
  76. package/latticeai/core/embedding_providers/__init__.py +151 -0
  77. package/latticeai/core/embedding_providers/base.py +199 -0
  78. package/latticeai/core/embedding_providers/captions.py +162 -0
  79. package/latticeai/core/embedding_providers/profiles.py +126 -0
  80. package/latticeai/core/embedding_providers/text.py +350 -0
  81. package/latticeai/core/embedding_providers/vision.py +352 -0
  82. package/latticeai/core/file_generation/__init__.py +115 -0
  83. package/latticeai/core/file_generation/bundles.py +76 -0
  84. package/latticeai/core/file_generation/extraction.py +154 -0
  85. package/latticeai/core/file_generation/inference.py +235 -0
  86. package/latticeai/core/file_generation/orchestration.py +152 -0
  87. package/latticeai/core/file_generation/prompting.py +117 -0
  88. package/latticeai/core/file_generation/repair.py +114 -0
  89. package/latticeai/core/file_generation/sanitize.py +61 -0
  90. package/latticeai/core/file_generation/validation.py +201 -0
  91. package/latticeai/core/legacy_compatibility.py +1 -1
  92. package/latticeai/core/marketplace.py +1 -1
  93. package/latticeai/core/messages.py +9 -0
  94. package/latticeai/core/workspace_os_constants.py +1 -1
  95. package/latticeai/integrations/telegram_bot/__init__.py +123 -0
  96. package/latticeai/integrations/telegram_bot/__main__.py +17 -0
  97. package/latticeai/integrations/telegram_bot/config.py +86 -0
  98. package/latticeai/integrations/telegram_bot/dispatch.py +311 -0
  99. package/latticeai/integrations/telegram_bot/flows.py +478 -0
  100. package/latticeai/integrations/telegram_bot/helpers.py +322 -0
  101. package/latticeai/integrations/telegram_bot/screens.py +394 -0
  102. package/latticeai/models/router/__init__.py +88 -0
  103. package/latticeai/models/router/_contract.py +66 -0
  104. package/latticeai/models/router/branding.py +56 -0
  105. package/latticeai/models/router/catalog.py +69 -0
  106. package/latticeai/models/router/documents.py +199 -0
  107. package/latticeai/models/router/errors.py +37 -0
  108. package/latticeai/models/router/generation.py +258 -0
  109. package/latticeai/models/router/loading.py +291 -0
  110. package/latticeai/models/router/local_models.py +85 -0
  111. package/latticeai/models/router/registry.py +147 -0
  112. package/latticeai/runtime/build_phases/__init__.py +82 -0
  113. package/latticeai/runtime/build_phases/features.py +407 -0
  114. package/latticeai/runtime/build_phases/foundation.py +555 -0
  115. package/latticeai/runtime/build_phases/web.py +492 -0
  116. package/latticeai/runtime/runtime_context.py +1 -0
  117. package/latticeai/services/architecture_readiness.py +48 -19
  118. package/latticeai/services/brain_intelligence/__init__.py +58 -0
  119. package/latticeai/services/brain_intelligence/_contract.py +71 -0
  120. package/latticeai/services/brain_intelligence/consistency.py +193 -0
  121. package/latticeai/services/brain_intelligence/constants.py +47 -0
  122. package/latticeai/services/brain_intelligence/digest.py +258 -0
  123. package/latticeai/services/brain_intelligence/health.py +331 -0
  124. package/latticeai/services/brain_intelligence/proposals.py +264 -0
  125. package/latticeai/services/brain_intelligence/sampling.py +84 -0
  126. package/latticeai/services/brain_intelligence/service.py +48 -0
  127. package/latticeai/services/chronicle.py +557 -0
  128. package/latticeai/services/memory_service/__init__.py +52 -0
  129. package/latticeai/services/memory_service/_contract.py +100 -0
  130. package/latticeai/services/memory_service/brief.py +431 -0
  131. package/latticeai/services/memory_service/constants.py +57 -0
  132. package/latticeai/services/memory_service/maintenance.py +138 -0
  133. package/latticeai/services/memory_service/manager.py +186 -0
  134. package/latticeai/services/memory_service/proof.py +136 -0
  135. package/latticeai/services/memory_service/recall.py +225 -0
  136. package/latticeai/services/memory_service/service.py +48 -0
  137. package/latticeai/services/memory_service/stores.py +110 -0
  138. package/latticeai/services/model_runtime/__init__.py +322 -0
  139. package/latticeai/services/model_runtime/cloud.py +87 -0
  140. package/latticeai/services/model_runtime/download.py +282 -0
  141. package/latticeai/services/model_runtime/engines.py +341 -0
  142. package/latticeai/services/model_runtime/loading.py +178 -0
  143. package/latticeai/services/model_runtime/service.py +129 -0
  144. package/latticeai/services/model_runtime/state.py +131 -0
  145. package/latticeai/services/model_runtime/status.py +255 -0
  146. package/latticeai/services/product_readiness.py +15 -7
  147. package/latticeai/setup/wizard/__init__.py +126 -0
  148. package/latticeai/setup/wizard/catalog.py +172 -0
  149. package/latticeai/setup/wizard/detect.py +323 -0
  150. package/latticeai/setup/wizard/install.py +348 -0
  151. package/latticeai/setup/wizard/paths.py +168 -0
  152. package/latticeai/setup/wizard/plans.py +74 -0
  153. package/latticeai/setup/wizard/recommend.py +320 -0
  154. package/package.json +6 -2
  155. package/scripts/bump_version.py +14 -0
  156. package/scripts/capture_release_evidence.mjs +33 -21
  157. package/scripts/check_current_release_docs.mjs +1 -1
  158. package/scripts/check_i18n_namespace_coverage.mjs +41 -4
  159. package/scripts/check_max_file_lines.mjs +102 -0
  160. package/scripts/check_release_evidence_bound.mjs +30 -15
  161. package/scripts/check_screenshot_pixel_delta.py +34 -4
  162. package/scripts/check_server_i18n.mjs +1 -0
  163. package/scripts/generate_rust_parity_fixtures.py +562 -0
  164. package/scripts/lib/mock_server_fingerprint.mjs +94 -0
  165. package/scripts/release_screen_claims.json +31 -2
  166. package/src-tauri/Cargo.lock +361 -3
  167. package/src-tauri/Cargo.toml +6 -1
  168. package/src-tauri/src/backend.rs +349 -0
  169. package/src-tauri/src/folder.rs +33 -0
  170. package/src-tauri/src/main.rs +97 -399
  171. package/src-tauri/tauri.conf.json +1 -1
  172. package/static/app/asset-manifest.json +41 -37
  173. package/static/app/assets/Act-yYpYnn0v.js +1 -0
  174. package/static/app/assets/AdminConsole-DL3Cr5pL.js +1 -0
  175. package/static/app/assets/{Brain-tuhI4sOC.js → Brain-C1HBN0Wf.js} +2 -2
  176. package/static/app/assets/BrainHome-DoXRhUUC.js +2 -0
  177. package/static/app/assets/BrainSignals-6yR6ir5t.js +1 -0
  178. package/static/app/assets/Capture-CFIRsFNE.js +1 -0
  179. package/static/app/assets/Chronicle-BZbEgiwN.js +1 -0
  180. package/static/app/assets/CommandPalette-D2pMxC2I.js +1 -0
  181. package/static/app/assets/Library-DwO3yZST.js +1 -0
  182. package/static/app/assets/{LivingBrain-DBwhto14.js → LivingBrain-Jn1GK0-S.js} +1 -1
  183. package/static/app/assets/ProductFlow-B-w1R4Oo.js +1 -0
  184. package/static/app/assets/ReviewCard-6B27X8Vg.js +3 -0
  185. package/static/app/assets/System-DW8F-2xL.js +1 -0
  186. package/static/app/assets/arrow-left-DXvKg9U6.js +1 -0
  187. package/static/app/assets/{bot-Cia42c2h.js → bot-IM_E_Y12.js} +1 -1
  188. package/static/app/assets/brain-Ci1CkWjM.js +1 -0
  189. package/static/app/assets/{button-2j2Ijzgq.js → button-COwyqfHM.js} +1 -1
  190. package/static/app/assets/circle-check-DfInj-qD.js +1 -0
  191. package/static/app/assets/{circle-pause-BEFeWpVW.js → circle-pause-DEM4A1Y5.js} +1 -1
  192. package/static/app/assets/{circle-play-ujXMcHxl.js → circle-play-C9djDuLd.js} +1 -1
  193. package/static/app/assets/{cpu-k4awryFq.js → cpu-DFdo1gw-.js} +1 -1
  194. package/static/app/assets/{download-DFbLJ_ig.js → download-SnJL6oqk.js} +1 -1
  195. package/static/app/assets/{folder-open-7y_b6xkM.js → folder-open-CqZeDkjE.js} +1 -1
  196. package/static/app/assets/{hard-drive-Bidh02Kr.js → hard-drive-j1jJXYYf.js} +1 -1
  197. package/static/app/assets/{index-DwDl9-8Y.css → index-BLPb5lmE.css} +1 -1
  198. package/static/app/assets/index-_u5iUHDr.js +10 -0
  199. package/static/app/assets/input-B0lPdRQZ.js +1 -0
  200. package/static/app/assets/link-2-CoFbooHS.js +1 -0
  201. package/static/app/assets/{permissionCopy-Bpb83Hx9.js → permissionCopy-BsyLxtao.js} +1 -1
  202. package/static/app/assets/primitives-DEbN-d6p.js +1 -0
  203. package/static/app/assets/search-BybIWPNd.js +1 -0
  204. package/static/app/assets/{share-2-BH1M-WNi.js → share-2-CVtZ_ewX.js} +1 -1
  205. package/static/app/assets/{shield-alert-BlKdBXcG.js → shield-alert-CBi2GNWM.js} +1 -1
  206. package/static/app/assets/{textarea-CCWbUfFB.js → textarea-DNMpB5ih.js} +1 -1
  207. package/static/app/assets/{useFocusTrap-YdHQ7pJ1.js → useFocusTrap-C83t3GXF.js} +1 -1
  208. package/static/app/assets/useMutation-DtbJDoyz.js +1 -0
  209. package/static/app/assets/{useQuery-CXQiwbVT.js → useQuery-Dcp1OChy.js} +1 -1
  210. package/static/app/assets/utils-BlZr7Pd4.js +4 -0
  211. package/static/app/assets/workspace-jJY4RuAV.js +1 -0
  212. package/static/app/index.html +4 -4
  213. package/static/sw.js +1 -1
  214. package/lattice_brain/graph/_kg_common.py +0 -1331
  215. package/lattice_brain/graph/discovery_index.py +0 -1141
  216. package/lattice_brain/graph/retrieval.py +0 -1120
  217. package/lattice_brain/graph/retrieval_vector.py +0 -1293
  218. package/lattice_brain/ingestion.py +0 -1525
  219. package/lattice_brain/multimodal.py +0 -1258
  220. package/latticeai/core/agent.py +0 -1465
  221. package/latticeai/core/embedding_providers.py +0 -1196
  222. package/latticeai/core/file_generation.py +0 -1047
  223. package/latticeai/integrations/telegram_bot.py +0 -1390
  224. package/latticeai/models/router.py +0 -1007
  225. package/latticeai/runtime/build_phases.py +0 -1450
  226. package/latticeai/services/brain_intelligence.py +0 -1083
  227. package/latticeai/services/memory_service.py +0 -1177
  228. package/latticeai/services/model_runtime.py +0 -1281
  229. package/latticeai/setup/wizard.py +0 -1310
  230. package/static/app/assets/Act-AWf0SAKp.js +0 -1
  231. package/static/app/assets/AdminConsole-D0u8Tiyj.js +0 -1
  232. package/static/app/assets/BrainHome-Ts7G_Ila.js +0 -2
  233. package/static/app/assets/BrainSignals-jMYgQ2Ar.js +0 -1
  234. package/static/app/assets/Capture-CqOSzyPr.js +0 -1
  235. package/static/app/assets/CommandPalette-DC0Bzh-I.js +0 -1
  236. package/static/app/assets/Library-CX-bbhmK.js +0 -1
  237. package/static/app/assets/ProductFlow-BHA2cfKI.js +0 -1
  238. package/static/app/assets/ReviewCard-BUhCKRNM.js +0 -3
  239. package/static/app/assets/System-Bu2t5hn1.js +0 -1
  240. package/static/app/assets/arrow-left-Dzwa5zRb.js +0 -1
  241. package/static/app/assets/brain-DJMoqrwx.js +0 -1
  242. package/static/app/assets/index-BpYkzcVm.js +0 -10
  243. package/static/app/assets/input-DSlJJxRs.js +0 -1
  244. package/static/app/assets/primitives-BCx6TvfG.js +0 -1
  245. package/static/app/assets/search-Cgy8cCFJ.js +0 -1
  246. package/static/app/assets/utils-zqPZJxdx.js +0 -4
  247. package/static/app/assets/workspace-DXTihhfU.js +0 -1
@@ -21,6 +21,33 @@
21
21
  "specific, not less."
22
22
  ],
23
23
 
24
+ "11.4.0": {
25
+ "_why": [
26
+ "Rust Foundation release: backend architecture only (rust/ workspace,",
27
+ "supervisor, native search gateway). No intentional change to any",
28
+ "captured screen — the frontend bundle is untouched. All thirteen are",
29
+ "measured but not gated; 13-chronicle.png now has a v11.3.0 baseline.",
30
+ "Known jitter: 05-memory-graph moves ~2-3% between captures from the",
31
+ "cytoscape layout, with zero source change (also observed at 11.3.0)."
32
+ ]
33
+ },
34
+
35
+ "11.3.0": {
36
+ "_why": [
37
+ "Chronicle release. 13-chronicle.png is NEW this release (no baseline",
38
+ "in v11.2.0 — the pixel gate reports it as 'new' and cannot diff it).",
39
+ "The No Big Files track proved the CSS bundle byte-identical, so the",
40
+ "only deliberate pixel change on existing screens is the everyday nav's",
41
+ "fourth item (연대기). Measured on capture: at the capture viewport the",
42
+ "shell nav is visible on 05-memory-graph (2.65% moved, claimed below);",
43
+ "the other shells render the nav collapsed or unchanged (0.00–0.07%),",
44
+ "so they are measured but not claimed."
45
+ ],
46
+ "05-memory-graph.png": {
47
+ "min_pct": 1.5
48
+ }
49
+ },
50
+
24
51
  "11.2.0": {
25
52
  "04-brain-chat-home.png": {
26
53
  "_why": [
@@ -92,8 +119,10 @@
92
119
  "construction. The welcome step's compaction lives under",
93
120
  "`@media (max-height: 820px)` and captures run at 1440x900; the capture",
94
121
  "pills' focus border only differs while an input inside them has focus,",
95
- "which no screenshot holds. `tests/visual/v3.spec.js` asserts both",
96
- "directly instead — a pixel diff is the wrong instrument for either."
122
+ "which no screenshot holds. The visual suite asserts both directly",
123
+ "instead — `tests/visual/v3.home.spec.js` pins the welcome height and",
124
+ "`tests/visual/v3.surfaces.spec.js` pins the focus border — because a",
125
+ "pixel diff is the wrong instrument for either."
97
126
  ]
98
127
  }
99
128
  }
@@ -8,6 +8,18 @@ version = "2.0.1"
8
8
  source = "registry+https://github.com/rust-lang/crates.io-index"
9
9
  checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10
10
 
11
+ [[package]]
12
+ name = "ahash"
13
+ version = "0.8.12"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
16
+ dependencies = [
17
+ "cfg-if",
18
+ "once_cell",
19
+ "version_check",
20
+ "zerocopy",
21
+ ]
22
+
11
23
  [[package]]
12
24
  name = "aho-corasick"
13
25
  version = "1.1.4"
@@ -47,6 +59,17 @@ version = "1.0.102"
47
59
  source = "registry+https://github.com/rust-lang/crates.io-index"
48
60
  checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
49
61
 
62
+ [[package]]
63
+ name = "async-trait"
64
+ version = "0.1.92"
65
+ source = "registry+https://github.com/rust-lang/crates.io-index"
66
+ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
67
+ dependencies = [
68
+ "proc-macro2",
69
+ "quote",
70
+ "syn 3.0.3",
71
+ ]
72
+
50
73
  [[package]]
51
74
  name = "atk"
52
75
  version = "0.18.2"
@@ -82,6 +105,61 @@ version = "1.5.1"
82
105
  source = "registry+https://github.com/rust-lang/crates.io-index"
83
106
  checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
84
107
 
108
+ [[package]]
109
+ name = "axum"
110
+ version = "0.7.9"
111
+ source = "registry+https://github.com/rust-lang/crates.io-index"
112
+ checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f"
113
+ dependencies = [
114
+ "async-trait",
115
+ "axum-core",
116
+ "bytes",
117
+ "futures-util",
118
+ "http",
119
+ "http-body",
120
+ "http-body-util",
121
+ "hyper",
122
+ "hyper-util",
123
+ "itoa",
124
+ "matchit",
125
+ "memchr",
126
+ "mime",
127
+ "percent-encoding",
128
+ "pin-project-lite",
129
+ "rustversion",
130
+ "serde",
131
+ "serde_json",
132
+ "serde_path_to_error",
133
+ "serde_urlencoded",
134
+ "sync_wrapper",
135
+ "tokio",
136
+ "tower",
137
+ "tower-layer",
138
+ "tower-service",
139
+ "tracing",
140
+ ]
141
+
142
+ [[package]]
143
+ name = "axum-core"
144
+ version = "0.4.5"
145
+ source = "registry+https://github.com/rust-lang/crates.io-index"
146
+ checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199"
147
+ dependencies = [
148
+ "async-trait",
149
+ "bytes",
150
+ "futures-util",
151
+ "http",
152
+ "http-body",
153
+ "http-body-util",
154
+ "mime",
155
+ "pin-project-lite",
156
+ "rustversion",
157
+ "sync_wrapper",
158
+ "tower-layer",
159
+ "tower-service",
160
+ "tracing",
161
+ ]
162
+
85
163
  [[package]]
86
164
  name = "base64"
87
165
  version = "0.21.7"
@@ -124,6 +202,15 @@ dependencies = [
124
202
  "serde_core",
125
203
  ]
126
204
 
205
+ [[package]]
206
+ name = "blake2"
207
+ version = "0.10.6"
208
+ source = "registry+https://github.com/rust-lang/crates.io-index"
209
+ checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
210
+ dependencies = [
211
+ "digest",
212
+ ]
213
+
127
214
  [[package]]
128
215
  name = "block-buffer"
129
216
  version = "0.10.4"
@@ -539,6 +626,7 @@ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
539
626
  dependencies = [
540
627
  "block-buffer",
541
628
  "crypto-common",
629
+ "subtle",
542
630
  ]
543
631
 
544
632
  [[package]]
@@ -711,6 +799,39 @@ dependencies = [
711
799
  "typeid",
712
800
  ]
713
801
 
802
+ [[package]]
803
+ name = "errno"
804
+ version = "0.3.14"
805
+ source = "registry+https://github.com/rust-lang/crates.io-index"
806
+ checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
807
+ dependencies = [
808
+ "libc",
809
+ "windows-sys 0.61.2",
810
+ ]
811
+
812
+ [[package]]
813
+ name = "fallible-iterator"
814
+ version = "0.3.0"
815
+ source = "registry+https://github.com/rust-lang/crates.io-index"
816
+ checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
817
+
818
+ [[package]]
819
+ name = "fallible-streaming-iterator"
820
+ version = "0.1.9"
821
+ source = "registry+https://github.com/rust-lang/crates.io-index"
822
+ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
823
+
824
+ [[package]]
825
+ name = "fancy-regex"
826
+ version = "0.14.0"
827
+ source = "registry+https://github.com/rust-lang/crates.io-index"
828
+ checksum = "6e24cb5a94bcae1e5408b0effca5cd7172ea3c5755049c5f3af4cd283a165298"
829
+ dependencies = [
830
+ "bit-set",
831
+ "regex-automata",
832
+ "regex-syntax",
833
+ ]
834
+
714
835
  [[package]]
715
836
  name = "fastrand"
716
837
  version = "2.4.1"
@@ -1168,12 +1289,30 @@ version = "0.12.3"
1168
1289
  source = "registry+https://github.com/rust-lang/crates.io-index"
1169
1290
  checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
1170
1291
 
1292
+ [[package]]
1293
+ name = "hashbrown"
1294
+ version = "0.14.5"
1295
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1296
+ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
1297
+ dependencies = [
1298
+ "ahash",
1299
+ ]
1300
+
1171
1301
  [[package]]
1172
1302
  name = "hashbrown"
1173
1303
  version = "0.17.1"
1174
1304
  source = "registry+https://github.com/rust-lang/crates.io-index"
1175
1305
  checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
1176
1306
 
1307
+ [[package]]
1308
+ name = "hashlink"
1309
+ version = "0.9.1"
1310
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1311
+ checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af"
1312
+ dependencies = [
1313
+ "hashbrown 0.14.5",
1314
+ ]
1315
+
1177
1316
  [[package]]
1178
1317
  name = "heck"
1179
1318
  version = "0.4.1"
@@ -1241,6 +1380,12 @@ version = "1.10.1"
1241
1380
  source = "registry+https://github.com/rust-lang/crates.io-index"
1242
1381
  checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
1243
1382
 
1383
+ [[package]]
1384
+ name = "httpdate"
1385
+ version = "1.0.3"
1386
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1387
+ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
1388
+
1244
1389
  [[package]]
1245
1390
  name = "hyper"
1246
1391
  version = "1.10.1"
@@ -1254,6 +1399,7 @@ dependencies = [
1254
1399
  "http",
1255
1400
  "http-body",
1256
1401
  "httparse",
1402
+ "httpdate",
1257
1403
  "itoa",
1258
1404
  "pin-project-lite",
1259
1405
  "smallvec",
@@ -1584,8 +1730,9 @@ dependencies = [
1584
1730
 
1585
1731
  [[package]]
1586
1732
  name = "lattice-ai-desktop"
1587
- version = "11.2.0"
1733
+ version = "11.4.0"
1588
1734
  dependencies = [
1735
+ "lattice-host",
1589
1736
  "plist",
1590
1737
  "serde",
1591
1738
  "serde_json",
@@ -1594,6 +1741,41 @@ dependencies = [
1594
1741
  "time",
1595
1742
  ]
1596
1743
 
1744
+ [[package]]
1745
+ name = "lattice-core"
1746
+ version = "11.4.0"
1747
+ dependencies = [
1748
+ "blake2",
1749
+ "rusqlite",
1750
+ "serde",
1751
+ "serde_json",
1752
+ ]
1753
+
1754
+ [[package]]
1755
+ name = "lattice-host"
1756
+ version = "11.4.0"
1757
+ dependencies = [
1758
+ "axum",
1759
+ "lattice-core",
1760
+ "lattice-retrieval",
1761
+ "libc",
1762
+ "reqwest 0.12.28",
1763
+ "serde",
1764
+ "serde_json",
1765
+ "tokio",
1766
+ ]
1767
+
1768
+ [[package]]
1769
+ name = "lattice-retrieval"
1770
+ version = "11.4.0"
1771
+ dependencies = [
1772
+ "fancy-regex",
1773
+ "lattice-core",
1774
+ "rusqlite",
1775
+ "serde",
1776
+ "serde_json",
1777
+ ]
1778
+
1597
1779
  [[package]]
1598
1780
  name = "libappindicator"
1599
1781
  version = "0.9.0"
@@ -1652,6 +1834,17 @@ dependencies = [
1652
1834
  "libc",
1653
1835
  ]
1654
1836
 
1837
+ [[package]]
1838
+ name = "libsqlite3-sys"
1839
+ version = "0.30.1"
1840
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1841
+ checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149"
1842
+ dependencies = [
1843
+ "cc",
1844
+ "pkg-config",
1845
+ "vcpkg",
1846
+ ]
1847
+
1655
1848
  [[package]]
1656
1849
  name = "litemap"
1657
1850
  version = "0.8.2"
@@ -1684,6 +1877,12 @@ dependencies = [
1684
1877
  "web_atoms",
1685
1878
  ]
1686
1879
 
1880
+ [[package]]
1881
+ name = "matchit"
1882
+ version = "0.7.3"
1883
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1884
+ checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
1885
+
1687
1886
  [[package]]
1688
1887
  name = "memchr"
1689
1888
  version = "2.8.2"
@@ -2367,6 +2566,41 @@ version = "0.8.11"
2367
2566
  source = "registry+https://github.com/rust-lang/crates.io-index"
2368
2567
  checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
2369
2568
 
2569
+ [[package]]
2570
+ name = "reqwest"
2571
+ version = "0.12.28"
2572
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2573
+ checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
2574
+ dependencies = [
2575
+ "base64 0.22.1",
2576
+ "bytes",
2577
+ "futures-core",
2578
+ "futures-util",
2579
+ "http",
2580
+ "http-body",
2581
+ "http-body-util",
2582
+ "hyper",
2583
+ "hyper-util",
2584
+ "js-sys",
2585
+ "log",
2586
+ "percent-encoding",
2587
+ "pin-project-lite",
2588
+ "serde",
2589
+ "serde_json",
2590
+ "serde_urlencoded",
2591
+ "sync_wrapper",
2592
+ "tokio",
2593
+ "tokio-util",
2594
+ "tower",
2595
+ "tower-http",
2596
+ "tower-service",
2597
+ "url",
2598
+ "wasm-bindgen",
2599
+ "wasm-bindgen-futures",
2600
+ "wasm-streams 0.4.2",
2601
+ "web-sys",
2602
+ ]
2603
+
2370
2604
  [[package]]
2371
2605
  name = "reqwest"
2372
2606
  version = "0.13.4"
@@ -2397,10 +2631,24 @@ dependencies = [
2397
2631
  "url",
2398
2632
  "wasm-bindgen",
2399
2633
  "wasm-bindgen-futures",
2400
- "wasm-streams",
2634
+ "wasm-streams 0.5.0",
2401
2635
  "web-sys",
2402
2636
  ]
2403
2637
 
2638
+ [[package]]
2639
+ name = "rusqlite"
2640
+ version = "0.32.1"
2641
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2642
+ checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e"
2643
+ dependencies = [
2644
+ "bitflags 2.13.0",
2645
+ "fallible-iterator",
2646
+ "fallible-streaming-iterator",
2647
+ "hashlink",
2648
+ "libsqlite3-sys",
2649
+ "smallvec",
2650
+ ]
2651
+
2404
2652
  [[package]]
2405
2653
  name = "rustc-hash"
2406
2654
  version = "2.1.2"
@@ -2422,6 +2670,12 @@ version = "1.0.22"
2422
2670
  source = "registry+https://github.com/rust-lang/crates.io-index"
2423
2671
  checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
2424
2672
 
2673
+ [[package]]
2674
+ name = "ryu"
2675
+ version = "1.0.23"
2676
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2677
+ checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
2678
+
2425
2679
  [[package]]
2426
2680
  name = "same-file"
2427
2681
  version = "1.0.6"
@@ -2583,6 +2837,17 @@ dependencies = [
2583
2837
  "zmij",
2584
2838
  ]
2585
2839
 
2840
+ [[package]]
2841
+ name = "serde_path_to_error"
2842
+ version = "0.1.20"
2843
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2844
+ checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457"
2845
+ dependencies = [
2846
+ "itoa",
2847
+ "serde",
2848
+ "serde_core",
2849
+ ]
2850
+
2586
2851
  [[package]]
2587
2852
  name = "serde_repr"
2588
2853
  version = "0.1.20"
@@ -2612,6 +2877,18 @@ dependencies = [
2612
2877
  "serde_core",
2613
2878
  ]
2614
2879
 
2880
+ [[package]]
2881
+ name = "serde_urlencoded"
2882
+ version = "0.7.1"
2883
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2884
+ checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
2885
+ dependencies = [
2886
+ "form_urlencoded",
2887
+ "itoa",
2888
+ "ryu",
2889
+ "serde",
2890
+ ]
2891
+
2615
2892
  [[package]]
2616
2893
  name = "serde_with"
2617
2894
  version = "3.17.0"
@@ -2691,6 +2968,16 @@ version = "2.0.1"
2691
2968
  source = "registry+https://github.com/rust-lang/crates.io-index"
2692
2969
  checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
2693
2970
 
2971
+ [[package]]
2972
+ name = "signal-hook-registry"
2973
+ version = "1.4.8"
2974
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2975
+ checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
2976
+ dependencies = [
2977
+ "errno",
2978
+ "libc",
2979
+ ]
2980
+
2694
2981
  [[package]]
2695
2982
  name = "simd-adler32"
2696
2983
  version = "0.3.9"
@@ -2809,6 +3096,12 @@ version = "0.11.1"
2809
3096
  source = "registry+https://github.com/rust-lang/crates.io-index"
2810
3097
  checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
2811
3098
 
3099
+ [[package]]
3100
+ name = "subtle"
3101
+ version = "2.6.1"
3102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3103
+ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
3104
+
2812
3105
  [[package]]
2813
3106
  name = "swift-rs"
2814
3107
  version = "1.0.7"
@@ -2841,6 +3134,17 @@ dependencies = [
2841
3134
  "unicode-ident",
2842
3135
  ]
2843
3136
 
3137
+ [[package]]
3138
+ name = "syn"
3139
+ version = "3.0.3"
3140
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3141
+ checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
3142
+ dependencies = [
3143
+ "proc-macro2",
3144
+ "quote",
3145
+ "unicode-ident",
3146
+ ]
3147
+
2844
3148
  [[package]]
2845
3149
  name = "sync_wrapper"
2846
3150
  version = "1.0.2"
@@ -2961,7 +3265,7 @@ dependencies = [
2961
3265
  "percent-encoding",
2962
3266
  "plist",
2963
3267
  "raw-window-handle",
2964
- "reqwest",
3268
+ "reqwest 0.13.4",
2965
3269
  "serde",
2966
3270
  "serde_json",
2967
3271
  "serde_repr",
@@ -3245,10 +3549,23 @@ dependencies = [
3245
3549
  "libc",
3246
3550
  "mio",
3247
3551
  "pin-project-lite",
3552
+ "signal-hook-registry",
3248
3553
  "socket2",
3554
+ "tokio-macros",
3249
3555
  "windows-sys 0.61.2",
3250
3556
  ]
3251
3557
 
3558
+ [[package]]
3559
+ name = "tokio-macros"
3560
+ version = "2.7.2"
3561
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3562
+ checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
3563
+ dependencies = [
3564
+ "proc-macro2",
3565
+ "quote",
3566
+ "syn 3.0.3",
3567
+ ]
3568
+
3252
3569
  [[package]]
3253
3570
  name = "tokio-util"
3254
3571
  version = "0.7.18"
@@ -3395,6 +3712,7 @@ dependencies = [
3395
3712
  "tokio",
3396
3713
  "tower-layer",
3397
3714
  "tower-service",
3715
+ "tracing",
3398
3716
  ]
3399
3717
 
3400
3718
  [[package]]
@@ -3433,6 +3751,7 @@ version = "0.1.44"
3433
3751
  source = "registry+https://github.com/rust-lang/crates.io-index"
3434
3752
  checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
3435
3753
  dependencies = [
3754
+ "log",
3436
3755
  "pin-project-lite",
3437
3756
  "tracing-core",
3438
3757
  ]
@@ -3588,6 +3907,12 @@ dependencies = [
3588
3907
  "wasm-bindgen",
3589
3908
  ]
3590
3909
 
3910
+ [[package]]
3911
+ name = "vcpkg"
3912
+ version = "0.2.15"
3913
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3914
+ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
3915
+
3591
3916
  [[package]]
3592
3917
  name = "version-compare"
3593
3918
  version = "0.2.1"
@@ -3709,6 +4034,19 @@ dependencies = [
3709
4034
  "unicode-ident",
3710
4035
  ]
3711
4036
 
4037
+ [[package]]
4038
+ name = "wasm-streams"
4039
+ version = "0.4.2"
4040
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4041
+ checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65"
4042
+ dependencies = [
4043
+ "futures-util",
4044
+ "js-sys",
4045
+ "wasm-bindgen",
4046
+ "wasm-bindgen-futures",
4047
+ "web-sys",
4048
+ ]
4049
+
3712
4050
  [[package]]
3713
4051
  name = "wasm-streams"
3714
4052
  version = "0.5.0"
@@ -4309,6 +4647,26 @@ dependencies = [
4309
4647
  "synstructure",
4310
4648
  ]
4311
4649
 
4650
+ [[package]]
4651
+ name = "zerocopy"
4652
+ version = "0.8.56"
4653
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4654
+ checksum = "556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb"
4655
+ dependencies = [
4656
+ "zerocopy-derive",
4657
+ ]
4658
+
4659
+ [[package]]
4660
+ name = "zerocopy-derive"
4661
+ version = "0.8.56"
4662
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4663
+ checksum = "f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1"
4664
+ dependencies = [
4665
+ "proc-macro2",
4666
+ "quote",
4667
+ "syn 2.0.118",
4668
+ ]
4669
+
4312
4670
  [[package]]
4313
4671
  name = "zerofrom"
4314
4672
  version = "0.1.8"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "lattice-ai-desktop"
3
- version = "11.2.0"
3
+ version = "11.4.0"
4
4
  description = "Lattice AI Digital Brain desktop shell"
5
5
  authors = ["TaeSoo Park"]
6
6
  edition = "2021"
@@ -14,3 +14,8 @@ plist = "=1.7.0"
14
14
  time = "=0.3.36"
15
15
  serde = { version = "1", features = ["derive"] }
16
16
  serde_json = "1"
17
+ # The supervisor (command resolution, spawn, HTTP health gate, backoff restart,
18
+ # graceful stop) shared with the `lattice-host` binary. A path dependency, not a
19
+ # workspace member: `rust/` must stay buildable on a CI runner with no tauri
20
+ # system libraries, so this crate deliberately sits outside that workspace.
21
+ lattice-host = { path = "../rust/lattice-host" }