paths-engine 0.0.0-stage → 0.1.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 (582) hide show
  1. package/README.md +600 -3
  2. package/dist/cli/commands/context.d.ts +3 -0
  3. package/dist/cli/commands/context.d.ts.map +1 -0
  4. package/dist/cli/commands/context.js +89 -0
  5. package/dist/cli/commands/context.js.map +1 -0
  6. package/dist/cli/commands/gui.d.ts +5 -0
  7. package/dist/cli/commands/gui.d.ts.map +1 -0
  8. package/dist/cli/commands/gui.js +28 -0
  9. package/dist/cli/commands/gui.js.map +1 -0
  10. package/dist/cli/commands/identity.d.ts +3 -0
  11. package/dist/cli/commands/identity.d.ts.map +1 -0
  12. package/dist/cli/commands/identity.js +83 -0
  13. package/dist/cli/commands/identity.js.map +1 -0
  14. package/dist/cli/commands/ingest.d.ts +3 -0
  15. package/dist/cli/commands/ingest.d.ts.map +1 -0
  16. package/dist/cli/commands/ingest.js +75 -0
  17. package/dist/cli/commands/ingest.js.map +1 -0
  18. package/dist/cli/commands/knowledge.d.ts +3 -0
  19. package/dist/cli/commands/knowledge.d.ts.map +1 -0
  20. package/dist/cli/commands/knowledge.js +104 -0
  21. package/dist/cli/commands/knowledge.js.map +1 -0
  22. package/dist/cli/commands/lineage.d.ts +3 -0
  23. package/dist/cli/commands/lineage.d.ts.map +1 -0
  24. package/dist/cli/commands/lineage.js +130 -0
  25. package/dist/cli/commands/lineage.js.map +1 -0
  26. package/dist/cli/commands/mcp-setup.d.ts +23 -0
  27. package/dist/cli/commands/mcp-setup.d.ts.map +1 -0
  28. package/dist/cli/commands/mcp-setup.js +190 -0
  29. package/dist/cli/commands/mcp-setup.js.map +1 -0
  30. package/dist/cli/commands/plan.d.ts +8 -0
  31. package/dist/cli/commands/plan.d.ts.map +1 -0
  32. package/dist/cli/commands/plan.js +230 -0
  33. package/dist/cli/commands/plan.js.map +1 -0
  34. package/dist/cli/commands/session.d.ts +3 -0
  35. package/dist/cli/commands/session.d.ts.map +1 -0
  36. package/dist/cli/commands/session.js +82 -0
  37. package/dist/cli/commands/session.js.map +1 -0
  38. package/dist/cli/commands/status.d.ts +3 -0
  39. package/dist/cli/commands/status.d.ts.map +1 -0
  40. package/dist/cli/commands/status.js +65 -0
  41. package/dist/cli/commands/status.js.map +1 -0
  42. package/dist/cli/commands/sync.d.ts +3 -0
  43. package/dist/cli/commands/sync.d.ts.map +1 -0
  44. package/dist/cli/commands/sync.js +168 -0
  45. package/dist/cli/commands/sync.js.map +1 -0
  46. package/dist/cli/commands/todo.d.ts +3 -0
  47. package/dist/cli/commands/todo.d.ts.map +1 -0
  48. package/dist/cli/commands/todo.js +116 -0
  49. package/dist/cli/commands/todo.js.map +1 -0
  50. package/dist/cli/file-reader.d.ts +3 -0
  51. package/dist/cli/file-reader.d.ts.map +1 -0
  52. package/dist/cli/file-reader.js +29 -0
  53. package/dist/cli/file-reader.js.map +1 -0
  54. package/dist/cli/formatters/context.d.ts +3 -0
  55. package/dist/cli/formatters/context.d.ts.map +1 -0
  56. package/dist/cli/formatters/context.js +58 -0
  57. package/dist/cli/formatters/context.js.map +1 -0
  58. package/dist/cli/formatters/errors.d.ts +2 -0
  59. package/dist/cli/formatters/errors.d.ts.map +1 -0
  60. package/dist/cli/formatters/errors.js +7 -0
  61. package/dist/cli/formatters/errors.js.map +1 -0
  62. package/dist/cli/formatters/status.d.ts +6 -0
  63. package/dist/cli/formatters/status.d.ts.map +1 -0
  64. package/dist/cli/formatters/status.js +79 -0
  65. package/dist/cli/formatters/status.js.map +1 -0
  66. package/dist/cli/index.d.ts +3 -0
  67. package/dist/cli/index.d.ts.map +1 -0
  68. package/dist/cli/index.js +40 -0
  69. package/dist/cli/index.js.map +1 -0
  70. package/dist/core/compiler.d.ts +50 -0
  71. package/dist/core/compiler.d.ts.map +1 -0
  72. package/dist/core/compiler.js +424 -0
  73. package/dist/core/compiler.js.map +1 -0
  74. package/dist/core/db/case-mapper.d.ts +3 -0
  75. package/dist/core/db/case-mapper.d.ts.map +1 -0
  76. package/dist/core/db/case-mapper.js +21 -0
  77. package/dist/core/db/case-mapper.js.map +1 -0
  78. package/dist/core/db/embedding-repository.d.ts +14 -0
  79. package/dist/core/db/embedding-repository.d.ts.map +1 -0
  80. package/dist/core/db/embedding-repository.js +57 -0
  81. package/dist/core/db/embedding-repository.js.map +1 -0
  82. package/dist/core/db/external-event-repository.d.ts +13 -0
  83. package/dist/core/db/external-event-repository.d.ts.map +1 -0
  84. package/dist/core/db/external-event-repository.js +73 -0
  85. package/dist/core/db/external-event-repository.js.map +1 -0
  86. package/dist/core/db/identity-repository.d.ts +9 -0
  87. package/dist/core/db/identity-repository.d.ts.map +1 -0
  88. package/dist/core/db/identity-repository.js +37 -0
  89. package/dist/core/db/identity-repository.js.map +1 -0
  90. package/dist/core/db/index.d.ts +12 -0
  91. package/dist/core/db/index.d.ts.map +1 -0
  92. package/dist/core/db/index.js +33 -0
  93. package/dist/core/db/index.js.map +1 -0
  94. package/dist/core/db/knowledge-confirmation-repository.d.ts +12 -0
  95. package/dist/core/db/knowledge-confirmation-repository.d.ts.map +1 -0
  96. package/dist/core/db/knowledge-confirmation-repository.js +40 -0
  97. package/dist/core/db/knowledge-confirmation-repository.js.map +1 -0
  98. package/dist/core/db/knowledge-repository.d.ts +18 -0
  99. package/dist/core/db/knowledge-repository.d.ts.map +1 -0
  100. package/dist/core/db/knowledge-repository.js +77 -0
  101. package/dist/core/db/knowledge-repository.js.map +1 -0
  102. package/dist/core/db/lineage-repository.d.ts +14 -0
  103. package/dist/core/db/lineage-repository.d.ts.map +1 -0
  104. package/dist/core/db/lineage-repository.js +35 -0
  105. package/dist/core/db/lineage-repository.js.map +1 -0
  106. package/dist/core/db/node-repository.d.ts +33 -0
  107. package/dist/core/db/node-repository.d.ts.map +1 -0
  108. package/dist/core/db/node-repository.js +116 -0
  109. package/dist/core/db/node-repository.js.map +1 -0
  110. package/dist/core/db/path.d.ts +3 -0
  111. package/dist/core/db/path.d.ts.map +1 -0
  112. package/dist/core/db/path.js +57 -0
  113. package/dist/core/db/path.js.map +1 -0
  114. package/dist/core/db/plan-repository.d.ts +17 -0
  115. package/dist/core/db/plan-repository.d.ts.map +1 -0
  116. package/dist/core/db/plan-repository.js +56 -0
  117. package/dist/core/db/plan-repository.js.map +1 -0
  118. package/dist/core/db/project-repository.d.ts +11 -0
  119. package/dist/core/db/project-repository.d.ts.map +1 -0
  120. package/dist/core/db/project-repository.js +24 -0
  121. package/dist/core/db/project-repository.js.map +1 -0
  122. package/dist/core/db/rollup-repository.d.ts +10 -0
  123. package/dist/core/db/rollup-repository.d.ts.map +1 -0
  124. package/dist/core/db/rollup-repository.js +55 -0
  125. package/dist/core/db/rollup-repository.js.map +1 -0
  126. package/dist/core/db/schema.d.ts +4 -0
  127. package/dist/core/db/schema.d.ts.map +1 -0
  128. package/dist/core/db/schema.js +315 -0
  129. package/dist/core/db/schema.js.map +1 -0
  130. package/dist/core/db/store.d.ts +298 -0
  131. package/dist/core/db/store.d.ts.map +1 -0
  132. package/dist/core/db/store.js +1054 -0
  133. package/dist/core/db/store.js.map +1 -0
  134. package/dist/core/db/sync-repository.d.ts +23 -0
  135. package/dist/core/db/sync-repository.d.ts.map +1 -0
  136. package/dist/core/db/sync-repository.js +117 -0
  137. package/dist/core/db/sync-repository.js.map +1 -0
  138. package/dist/core/db/todo-repository.d.ts +14 -0
  139. package/dist/core/db/todo-repository.d.ts.map +1 -0
  140. package/dist/core/db/todo-repository.js +37 -0
  141. package/dist/core/db/todo-repository.js.map +1 -0
  142. package/dist/core/embedding/cosine.d.ts +5 -0
  143. package/dist/core/embedding/cosine.d.ts.map +1 -0
  144. package/dist/core/embedding/cosine.js +50 -0
  145. package/dist/core/embedding/cosine.js.map +1 -0
  146. package/dist/core/embedding/embedding.service.d.ts +27 -0
  147. package/dist/core/embedding/embedding.service.d.ts.map +1 -0
  148. package/dist/core/embedding/embedding.service.js +99 -0
  149. package/dist/core/embedding/embedding.service.js.map +1 -0
  150. package/dist/core/embedding/index.d.ts +3 -0
  151. package/dist/core/embedding/index.d.ts.map +1 -0
  152. package/dist/core/embedding/index.js +3 -0
  153. package/dist/core/embedding/index.js.map +1 -0
  154. package/dist/core/identity.d.ts +6 -0
  155. package/dist/core/identity.d.ts.map +1 -0
  156. package/dist/core/identity.js +24 -0
  157. package/dist/core/identity.js.map +1 -0
  158. package/dist/core/index.d.ts +13 -0
  159. package/dist/core/index.d.ts.map +1 -0
  160. package/dist/core/index.js +13 -0
  161. package/dist/core/index.js.map +1 -0
  162. package/dist/core/ingestion/generic-adapter.d.ts +5 -0
  163. package/dist/core/ingestion/generic-adapter.d.ts.map +1 -0
  164. package/dist/core/ingestion/generic-adapter.js +15 -0
  165. package/dist/core/ingestion/generic-adapter.js.map +1 -0
  166. package/dist/core/ingestion/git-adapter.d.ts +12 -0
  167. package/dist/core/ingestion/git-adapter.d.ts.map +1 -0
  168. package/dist/core/ingestion/git-adapter.js +31 -0
  169. package/dist/core/ingestion/git-adapter.js.map +1 -0
  170. package/dist/core/ingestion/github-adapter.d.ts +23 -0
  171. package/dist/core/ingestion/github-adapter.d.ts.map +1 -0
  172. package/dist/core/ingestion/github-adapter.js +55 -0
  173. package/dist/core/ingestion/github-adapter.js.map +1 -0
  174. package/dist/core/ingestion/index.d.ts +6 -0
  175. package/dist/core/ingestion/index.d.ts.map +1 -0
  176. package/dist/core/ingestion/index.js +6 -0
  177. package/dist/core/ingestion/index.js.map +1 -0
  178. package/dist/core/ingestion/ingestion.service.d.ts +25 -0
  179. package/dist/core/ingestion/ingestion.service.d.ts.map +1 -0
  180. package/dist/core/ingestion/ingestion.service.js +109 -0
  181. package/dist/core/ingestion/ingestion.service.js.map +1 -0
  182. package/dist/core/ingestion/types.d.ts +38 -0
  183. package/dist/core/ingestion/types.d.ts.map +1 -0
  184. package/dist/core/ingestion/types.js +2 -0
  185. package/dist/core/ingestion/types.js.map +1 -0
  186. package/dist/core/knowledge.d.ts +13 -0
  187. package/dist/core/knowledge.d.ts.map +1 -0
  188. package/dist/core/knowledge.js +101 -0
  189. package/dist/core/knowledge.js.map +1 -0
  190. package/dist/core/lineage.d.ts +11 -0
  191. package/dist/core/lineage.d.ts.map +1 -0
  192. package/dist/core/lineage.js +75 -0
  193. package/dist/core/lineage.js.map +1 -0
  194. package/dist/core/node.d.ts +27 -0
  195. package/dist/core/node.d.ts.map +1 -0
  196. package/dist/core/node.js +145 -0
  197. package/dist/core/node.js.map +1 -0
  198. package/dist/core/plan.d.ts +26 -0
  199. package/dist/core/plan.d.ts.map +1 -0
  200. package/dist/core/plan.js +109 -0
  201. package/dist/core/plan.js.map +1 -0
  202. package/dist/core/project.d.ts +10 -0
  203. package/dist/core/project.d.ts.map +1 -0
  204. package/dist/core/project.js +108 -0
  205. package/dist/core/project.js.map +1 -0
  206. package/dist/core/rollup.d.ts +7 -0
  207. package/dist/core/rollup.d.ts.map +1 -0
  208. package/dist/core/rollup.js +48 -0
  209. package/dist/core/rollup.js.map +1 -0
  210. package/dist/core/security/error-classifier.d.ts +35 -0
  211. package/dist/core/security/error-classifier.d.ts.map +1 -0
  212. package/dist/core/security/error-classifier.js +169 -0
  213. package/dist/core/security/error-classifier.js.map +1 -0
  214. package/dist/core/sync/bundle-auth.d.ts +23 -0
  215. package/dist/core/sync/bundle-auth.d.ts.map +1 -0
  216. package/dist/core/sync/bundle-auth.js +184 -0
  217. package/dist/core/sync/bundle-auth.js.map +1 -0
  218. package/dist/core/sync/device.d.ts +8 -0
  219. package/dist/core/sync/device.d.ts.map +1 -0
  220. package/dist/core/sync/device.js +32 -0
  221. package/dist/core/sync/device.js.map +1 -0
  222. package/dist/core/sync/hlc.d.ts +12 -0
  223. package/dist/core/sync/hlc.d.ts.map +1 -0
  224. package/dist/core/sync/hlc.js +83 -0
  225. package/dist/core/sync/hlc.js.map +1 -0
  226. package/dist/core/sync/index.d.ts +6 -0
  227. package/dist/core/sync/index.d.ts.map +1 -0
  228. package/dist/core/sync/index.js +5 -0
  229. package/dist/core/sync/index.js.map +1 -0
  230. package/dist/core/sync/sync.service.d.ts +29 -0
  231. package/dist/core/sync/sync.service.d.ts.map +1 -0
  232. package/dist/core/sync/sync.service.js +457 -0
  233. package/dist/core/sync/sync.service.js.map +1 -0
  234. package/dist/core/sync/types.d.ts +101 -0
  235. package/dist/core/sync/types.d.ts.map +1 -0
  236. package/dist/core/sync/types.js +2 -0
  237. package/dist/core/sync/types.js.map +1 -0
  238. package/dist/core/task-context-budget.d.ts +5 -0
  239. package/dist/core/task-context-budget.d.ts.map +1 -0
  240. package/dist/core/task-context-budget.js +11 -0
  241. package/dist/core/task-context-budget.js.map +1 -0
  242. package/dist/core/task-context-order.d.ts +6 -0
  243. package/dist/core/task-context-order.d.ts.map +1 -0
  244. package/dist/core/task-context-order.js +26 -0
  245. package/dist/core/task-context-order.js.map +1 -0
  246. package/dist/core/task-context-paths.d.ts +6 -0
  247. package/dist/core/task-context-paths.d.ts.map +1 -0
  248. package/dist/core/task-context-paths.js +59 -0
  249. package/dist/core/task-context-paths.js.map +1 -0
  250. package/dist/core/task-context.d.ts +21 -0
  251. package/dist/core/task-context.d.ts.map +1 -0
  252. package/dist/core/task-context.js +283 -0
  253. package/dist/core/task-context.js.map +1 -0
  254. package/dist/core/todo.d.ts +16 -0
  255. package/dist/core/todo.d.ts.map +1 -0
  256. package/dist/core/todo.js +110 -0
  257. package/dist/core/todo.js.map +1 -0
  258. package/dist/core/tokenizer.d.ts +3 -0
  259. package/dist/core/tokenizer.d.ts.map +1 -0
  260. package/dist/core/tokenizer.js +9 -0
  261. package/dist/core/tokenizer.js.map +1 -0
  262. package/dist/core/types/context.d.ts +50 -0
  263. package/dist/core/types/context.d.ts.map +1 -0
  264. package/dist/core/types/context.js +2 -0
  265. package/dist/core/types/context.js.map +1 -0
  266. package/dist/core/types/embedding.d.ts +25 -0
  267. package/dist/core/types/embedding.d.ts.map +1 -0
  268. package/dist/core/types/embedding.js +2 -0
  269. package/dist/core/types/embedding.js.map +1 -0
  270. package/dist/core/types/external-event.d.ts +29 -0
  271. package/dist/core/types/external-event.d.ts.map +1 -0
  272. package/dist/core/types/external-event.js +2 -0
  273. package/dist/core/types/external-event.js.map +1 -0
  274. package/dist/core/types/hlc.d.ts +12 -0
  275. package/dist/core/types/hlc.d.ts.map +1 -0
  276. package/dist/core/types/hlc.js +2 -0
  277. package/dist/core/types/hlc.js.map +1 -0
  278. package/dist/core/types/identity.d.ts +26 -0
  279. package/dist/core/types/identity.d.ts.map +1 -0
  280. package/dist/core/types/identity.js +2 -0
  281. package/dist/core/types/identity.js.map +1 -0
  282. package/dist/core/types/index.d.ts +15 -0
  283. package/dist/core/types/index.d.ts.map +1 -0
  284. package/dist/core/types/index.js +15 -0
  285. package/dist/core/types/index.js.map +1 -0
  286. package/dist/core/types/installation-identity.d.ts +13 -0
  287. package/dist/core/types/installation-identity.d.ts.map +1 -0
  288. package/dist/core/types/installation-identity.js +2 -0
  289. package/dist/core/types/installation-identity.js.map +1 -0
  290. package/dist/core/types/knowledge-confirmation.d.ts +25 -0
  291. package/dist/core/types/knowledge-confirmation.d.ts.map +1 -0
  292. package/dist/core/types/knowledge-confirmation.js +2 -0
  293. package/dist/core/types/knowledge-confirmation.js.map +1 -0
  294. package/dist/core/types/knowledge.d.ts +50 -0
  295. package/dist/core/types/knowledge.d.ts.map +1 -0
  296. package/dist/core/types/knowledge.js +12 -0
  297. package/dist/core/types/knowledge.js.map +1 -0
  298. package/dist/core/types/lineage.d.ts +37 -0
  299. package/dist/core/types/lineage.d.ts.map +1 -0
  300. package/dist/core/types/lineage.js +2 -0
  301. package/dist/core/types/lineage.js.map +1 -0
  302. package/dist/core/types/node.d.ts +47 -0
  303. package/dist/core/types/node.d.ts.map +1 -0
  304. package/dist/core/types/node.js +2 -0
  305. package/dist/core/types/node.js.map +1 -0
  306. package/dist/core/types/plan.d.ts +60 -0
  307. package/dist/core/types/plan.d.ts.map +1 -0
  308. package/dist/core/types/plan.js +2 -0
  309. package/dist/core/types/plan.js.map +1 -0
  310. package/dist/core/types/project.d.ts +27 -0
  311. package/dist/core/types/project.d.ts.map +1 -0
  312. package/dist/core/types/project.js +2 -0
  313. package/dist/core/types/project.js.map +1 -0
  314. package/dist/core/types/status-json.d.ts +30 -0
  315. package/dist/core/types/status-json.d.ts.map +1 -0
  316. package/dist/core/types/status-json.js +2 -0
  317. package/dist/core/types/status-json.js.map +1 -0
  318. package/dist/core/types/sync-change.d.ts +49 -0
  319. package/dist/core/types/sync-change.d.ts.map +1 -0
  320. package/dist/core/types/sync-change.js +2 -0
  321. package/dist/core/types/sync-change.js.map +1 -0
  322. package/dist/core/types/task-context.d.ts +55 -0
  323. package/dist/core/types/task-context.d.ts.map +1 -0
  324. package/dist/core/types/task-context.js +2 -0
  325. package/dist/core/types/task-context.js.map +1 -0
  326. package/dist/core/types/todo.d.ts +33 -0
  327. package/dist/core/types/todo.d.ts.map +1 -0
  328. package/dist/core/types/todo.js +2 -0
  329. package/dist/core/types/todo.js.map +1 -0
  330. package/dist/gui/launcher.d.ts +22 -0
  331. package/dist/gui/launcher.d.ts.map +1 -0
  332. package/dist/gui/launcher.js +86 -0
  333. package/dist/gui/launcher.js.map +1 -0
  334. package/dist/gui/main/app-bridge.d.ts +21 -0
  335. package/dist/gui/main/app-bridge.d.ts.map +1 -0
  336. package/dist/gui/main/app-bridge.js +204 -0
  337. package/dist/gui/main/app-bridge.js.map +1 -0
  338. package/dist/gui/main/app-context-manager.d.ts +25 -0
  339. package/dist/gui/main/app-context-manager.d.ts.map +1 -0
  340. package/dist/gui/main/app-context-manager.js +141 -0
  341. package/dist/gui/main/app-context-manager.js.map +1 -0
  342. package/dist/gui/main/context.d.ts +32 -0
  343. package/dist/gui/main/context.d.ts.map +1 -0
  344. package/dist/gui/main/context.js +56 -0
  345. package/dist/gui/main/context.js.map +1 -0
  346. package/dist/gui/main/index.d.ts +2 -0
  347. package/dist/gui/main/index.d.ts.map +1 -0
  348. package/dist/gui/main/index.js +3 -0
  349. package/dist/gui/main/index.js.map +1 -0
  350. package/dist/gui/main/lifecycle.d.ts +45 -0
  351. package/dist/gui/main/lifecycle.d.ts.map +1 -0
  352. package/dist/gui/main/lifecycle.js +272 -0
  353. package/dist/gui/main/lifecycle.js.map +1 -0
  354. package/dist/gui/main/schemas.d.ts +105 -0
  355. package/dist/gui/main/schemas.d.ts.map +1 -0
  356. package/dist/gui/main/schemas.js +131 -0
  357. package/dist/gui/main/schemas.js.map +1 -0
  358. package/dist/gui/main/tray.d.ts +9 -0
  359. package/dist/gui/main/tray.d.ts.map +1 -0
  360. package/dist/gui/main/tray.js +70 -0
  361. package/dist/gui/main/tray.js.map +1 -0
  362. package/dist/gui/preload/api-interface.d.ts +59 -0
  363. package/dist/gui/preload/api-interface.d.ts.map +1 -0
  364. package/dist/gui/preload/api-interface.js +2 -0
  365. package/dist/gui/preload/api-interface.js.map +1 -0
  366. package/dist/gui/preload/preload.cjs +1 -0
  367. package/dist/gui/preload/preload.d.ts +3 -0
  368. package/dist/gui/preload/preload.d.ts.map +1 -0
  369. package/dist/gui/preload/preload.js +36 -0
  370. package/dist/gui/preload/preload.js.map +1 -0
  371. package/dist/gui/renderer/App.d.ts +3 -0
  372. package/dist/gui/renderer/App.d.ts.map +1 -0
  373. package/dist/gui/renderer/App.js +33 -0
  374. package/dist/gui/renderer/App.js.map +1 -0
  375. package/dist/gui/renderer/components/layout/AppShell.d.ts +15 -0
  376. package/dist/gui/renderer/components/layout/AppShell.d.ts.map +1 -0
  377. package/dist/gui/renderer/components/layout/AppShell.js +206 -0
  378. package/dist/gui/renderer/components/layout/AppShell.js.map +1 -0
  379. package/dist/gui/renderer/components/layout/NavItem.d.ts +12 -0
  380. package/dist/gui/renderer/components/layout/NavItem.d.ts.map +1 -0
  381. package/dist/gui/renderer/components/layout/NavItem.js +72 -0
  382. package/dist/gui/renderer/components/layout/NavItem.js.map +1 -0
  383. package/dist/gui/renderer/components/layout/PathsLogo.d.ts +9 -0
  384. package/dist/gui/renderer/components/layout/PathsLogo.d.ts.map +1 -0
  385. package/dist/gui/renderer/components/layout/PathsLogo.js +87 -0
  386. package/dist/gui/renderer/components/layout/PathsLogo.js.map +1 -0
  387. package/dist/gui/renderer/components/shared/Badge.d.ts +11 -0
  388. package/dist/gui/renderer/components/shared/Badge.d.ts.map +1 -0
  389. package/dist/gui/renderer/components/shared/Badge.js +150 -0
  390. package/dist/gui/renderer/components/shared/Badge.js.map +1 -0
  391. package/dist/gui/renderer/components/shared/EmptyState.d.ts +10 -0
  392. package/dist/gui/renderer/components/shared/EmptyState.d.ts.map +1 -0
  393. package/dist/gui/renderer/components/shared/EmptyState.js +59 -0
  394. package/dist/gui/renderer/components/shared/EmptyState.js.map +1 -0
  395. package/dist/gui/renderer/components/shared/ErrorBanner.d.ts +7 -0
  396. package/dist/gui/renderer/components/shared/ErrorBanner.d.ts.map +1 -0
  397. package/dist/gui/renderer/components/shared/ErrorBanner.js +33 -0
  398. package/dist/gui/renderer/components/shared/ErrorBanner.js.map +1 -0
  399. package/dist/gui/renderer/components/shared/ErrorBoundary.d.ts +18 -0
  400. package/dist/gui/renderer/components/shared/ErrorBoundary.d.ts.map +1 -0
  401. package/dist/gui/renderer/components/shared/ErrorBoundary.js +40 -0
  402. package/dist/gui/renderer/components/shared/ErrorBoundary.js.map +1 -0
  403. package/dist/gui/renderer/components/shared/GlassSelect.d.ts +17 -0
  404. package/dist/gui/renderer/components/shared/GlassSelect.d.ts.map +1 -0
  405. package/dist/gui/renderer/components/shared/GlassSelect.js +147 -0
  406. package/dist/gui/renderer/components/shared/GlassSelect.js.map +1 -0
  407. package/dist/gui/renderer/components/shared/LoadingSpinner.d.ts +7 -0
  408. package/dist/gui/renderer/components/shared/LoadingSpinner.d.ts.map +1 -0
  409. package/dist/gui/renderer/components/shared/LoadingSpinner.js +27 -0
  410. package/dist/gui/renderer/components/shared/LoadingSpinner.js.map +1 -0
  411. package/dist/gui/renderer/components/surfaces/Dashboard.d.ts +3 -0
  412. package/dist/gui/renderer/components/surfaces/Dashboard.d.ts.map +1 -0
  413. package/dist/gui/renderer/components/surfaces/Dashboard.js +123 -0
  414. package/dist/gui/renderer/components/surfaces/Dashboard.js.map +1 -0
  415. package/dist/gui/renderer/components/surfaces/KnowledgeExplorer.d.ts +3 -0
  416. package/dist/gui/renderer/components/surfaces/KnowledgeExplorer.d.ts.map +1 -0
  417. package/dist/gui/renderer/components/surfaces/KnowledgeExplorer.js +202 -0
  418. package/dist/gui/renderer/components/surfaces/KnowledgeExplorer.js.map +1 -0
  419. package/dist/gui/renderer/components/surfaces/LineageManager.d.ts +3 -0
  420. package/dist/gui/renderer/components/surfaces/LineageManager.d.ts.map +1 -0
  421. package/dist/gui/renderer/components/surfaces/LineageManager.js +148 -0
  422. package/dist/gui/renderer/components/surfaces/LineageManager.js.map +1 -0
  423. package/dist/gui/renderer/components/surfaces/SessionTimeline.d.ts +3 -0
  424. package/dist/gui/renderer/components/surfaces/SessionTimeline.d.ts.map +1 -0
  425. package/dist/gui/renderer/components/surfaces/SessionTimeline.js +136 -0
  426. package/dist/gui/renderer/components/surfaces/SessionTimeline.js.map +1 -0
  427. package/dist/gui/renderer/components/surfaces/TodoBoard.d.ts +3 -0
  428. package/dist/gui/renderer/components/surfaces/TodoBoard.d.ts.map +1 -0
  429. package/dist/gui/renderer/components/surfaces/TodoBoard.js +128 -0
  430. package/dist/gui/renderer/components/surfaces/TodoBoard.js.map +1 -0
  431. package/dist/gui/renderer/context/paths-context.d.ts +19 -0
  432. package/dist/gui/renderer/context/paths-context.d.ts.map +1 -0
  433. package/dist/gui/renderer/context/paths-context.js +122 -0
  434. package/dist/gui/renderer/context/paths-context.js.map +1 -0
  435. package/dist/gui/renderer/context/theme-context.d.ts +11 -0
  436. package/dist/gui/renderer/context/theme-context.d.ts.map +1 -0
  437. package/dist/gui/renderer/context/theme-context.js +41 -0
  438. package/dist/gui/renderer/context/theme-context.js.map +1 -0
  439. package/dist/gui/renderer/hooks/use-api-query.d.ts +9 -0
  440. package/dist/gui/renderer/hooks/use-api-query.d.ts.map +1 -0
  441. package/dist/gui/renderer/hooks/use-api-query.js +60 -0
  442. package/dist/gui/renderer/hooks/use-api-query.js.map +1 -0
  443. package/dist/gui/renderer/hooks/use-lineage.d.ts +13 -0
  444. package/dist/gui/renderer/hooks/use-lineage.d.ts.map +1 -0
  445. package/dist/gui/renderer/hooks/use-lineage.js +15 -0
  446. package/dist/gui/renderer/hooks/use-lineage.js.map +1 -0
  447. package/dist/gui/renderer/index.d.ts +2 -0
  448. package/dist/gui/renderer/index.d.ts.map +1 -0
  449. package/dist/gui/renderer/index.js +2 -0
  450. package/dist/gui/renderer/index.js.map +1 -0
  451. package/dist/gui/shared/errors.d.ts +23 -0
  452. package/dist/gui/shared/errors.d.ts.map +1 -0
  453. package/dist/gui/shared/errors.js +10 -0
  454. package/dist/gui/shared/errors.js.map +1 -0
  455. package/dist/gui/shared/index.d.ts +4 -0
  456. package/dist/gui/shared/index.d.ts.map +1 -0
  457. package/dist/gui/shared/index.js +4 -0
  458. package/dist/gui/shared/index.js.map +1 -0
  459. package/dist/gui/shared/ipc-channels.d.ts +53 -0
  460. package/dist/gui/shared/ipc-channels.d.ts.map +1 -0
  461. package/dist/gui/shared/ipc-channels.js +63 -0
  462. package/dist/gui/shared/ipc-channels.js.map +1 -0
  463. package/dist/gui/shared/ipc-contracts.d.ts +176 -0
  464. package/dist/gui/shared/ipc-contracts.d.ts.map +1 -0
  465. package/dist/gui/shared/ipc-contracts.js +2 -0
  466. package/dist/gui/shared/ipc-contracts.js.map +1 -0
  467. package/dist/mcp/context.d.ts +55 -0
  468. package/dist/mcp/context.d.ts.map +1 -0
  469. package/dist/mcp/context.js +183 -0
  470. package/dist/mcp/context.js.map +1 -0
  471. package/dist/mcp/handler-utils.d.ts +22 -0
  472. package/dist/mcp/handler-utils.d.ts.map +1 -0
  473. package/dist/mcp/handler-utils.js +26 -0
  474. package/dist/mcp/handler-utils.js.map +1 -0
  475. package/dist/mcp/schemas.d.ts +688 -0
  476. package/dist/mcp/schemas.d.ts.map +1 -0
  477. package/dist/mcp/schemas.js +278 -0
  478. package/dist/mcp/schemas.js.map +1 -0
  479. package/dist/mcp/server.d.ts +8 -0
  480. package/dist/mcp/server.d.ts.map +1 -0
  481. package/dist/mcp/server.js +88 -0
  482. package/dist/mcp/server.js.map +1 -0
  483. package/dist/mcp/tools/abandon-plan.d.ts +4 -0
  484. package/dist/mcp/tools/abandon-plan.d.ts.map +1 -0
  485. package/dist/mcp/tools/abandon-plan.js +32 -0
  486. package/dist/mcp/tools/abandon-plan.js.map +1 -0
  487. package/dist/mcp/tools/add-todo.d.ts +4 -0
  488. package/dist/mcp/tools/add-todo.d.ts.map +1 -0
  489. package/dist/mcp/tools/add-todo.js +34 -0
  490. package/dist/mcp/tools/add-todo.js.map +1 -0
  491. package/dist/mcp/tools/complete-plan.d.ts +4 -0
  492. package/dist/mcp/tools/complete-plan.d.ts.map +1 -0
  493. package/dist/mcp/tools/complete-plan.js +32 -0
  494. package/dist/mcp/tools/complete-plan.js.map +1 -0
  495. package/dist/mcp/tools/complete-todo.d.ts +4 -0
  496. package/dist/mcp/tools/complete-todo.d.ts.map +1 -0
  497. package/dist/mcp/tools/complete-todo.js +51 -0
  498. package/dist/mcp/tools/complete-todo.js.map +1 -0
  499. package/dist/mcp/tools/continue-lineage.d.ts +4 -0
  500. package/dist/mcp/tools/continue-lineage.d.ts.map +1 -0
  501. package/dist/mcp/tools/continue-lineage.js +31 -0
  502. package/dist/mcp/tools/continue-lineage.js.map +1 -0
  503. package/dist/mcp/tools/create-plan.d.ts +4 -0
  504. package/dist/mcp/tools/create-plan.d.ts.map +1 -0
  505. package/dist/mcp/tools/create-plan.js +42 -0
  506. package/dist/mcp/tools/create-plan.js.map +1 -0
  507. package/dist/mcp/tools/get-active-plan.d.ts +4 -0
  508. package/dist/mcp/tools/get-active-plan.d.ts.map +1 -0
  509. package/dist/mcp/tools/get-active-plan.js +30 -0
  510. package/dist/mcp/tools/get-active-plan.js.map +1 -0
  511. package/dist/mcp/tools/get-lineage-history.d.ts +4 -0
  512. package/dist/mcp/tools/get-lineage-history.d.ts.map +1 -0
  513. package/dist/mcp/tools/get-lineage-history.js +38 -0
  514. package/dist/mcp/tools/get-lineage-history.js.map +1 -0
  515. package/dist/mcp/tools/get-lineages.d.ts +4 -0
  516. package/dist/mcp/tools/get-lineages.d.ts.map +1 -0
  517. package/dist/mcp/tools/get-lineages.js +30 -0
  518. package/dist/mcp/tools/get-lineages.js.map +1 -0
  519. package/dist/mcp/tools/get-project-context.d.ts +4 -0
  520. package/dist/mcp/tools/get-project-context.d.ts.map +1 -0
  521. package/dist/mcp/tools/get-project-context.js +38 -0
  522. package/dist/mcp/tools/get-project-context.js.map +1 -0
  523. package/dist/mcp/tools/get-task-context.d.ts +4 -0
  524. package/dist/mcp/tools/get-task-context.d.ts.map +1 -0
  525. package/dist/mcp/tools/get-task-context.js +42 -0
  526. package/dist/mcp/tools/get-task-context.js.map +1 -0
  527. package/dist/mcp/tools/ingest-event.d.ts +4 -0
  528. package/dist/mcp/tools/ingest-event.d.ts.map +1 -0
  529. package/dist/mcp/tools/ingest-event.js +71 -0
  530. package/dist/mcp/tools/ingest-event.js.map +1 -0
  531. package/dist/mcp/tools/list-plans.d.ts +4 -0
  532. package/dist/mcp/tools/list-plans.d.ts.map +1 -0
  533. package/dist/mcp/tools/list-plans.js +44 -0
  534. package/dist/mcp/tools/list-plans.js.map +1 -0
  535. package/dist/mcp/tools/list-todos.d.ts +4 -0
  536. package/dist/mcp/tools/list-todos.d.ts.map +1 -0
  537. package/dist/mcp/tools/list-todos.js +31 -0
  538. package/dist/mcp/tools/list-todos.js.map +1 -0
  539. package/dist/mcp/tools/log-session.d.ts +4 -0
  540. package/dist/mcp/tools/log-session.d.ts.map +1 -0
  541. package/dist/mcp/tools/log-session.js +35 -0
  542. package/dist/mcp/tools/log-session.js.map +1 -0
  543. package/dist/mcp/tools/open-gui.d.ts +14 -0
  544. package/dist/mcp/tools/open-gui.d.ts.map +1 -0
  545. package/dist/mcp/tools/open-gui.js +42 -0
  546. package/dist/mcp/tools/open-gui.js.map +1 -0
  547. package/dist/mcp/tools/save-knowledge.d.ts +4 -0
  548. package/dist/mcp/tools/save-knowledge.d.ts.map +1 -0
  549. package/dist/mcp/tools/save-knowledge.js +36 -0
  550. package/dist/mcp/tools/save-knowledge.js.map +1 -0
  551. package/dist/mcp/tools/search-knowledge.d.ts +4 -0
  552. package/dist/mcp/tools/search-knowledge.d.ts.map +1 -0
  553. package/dist/mcp/tools/search-knowledge.js +31 -0
  554. package/dist/mcp/tools/search-knowledge.js.map +1 -0
  555. package/dist/mcp/tools/search-nodes.d.ts +4 -0
  556. package/dist/mcp/tools/search-nodes.d.ts.map +1 -0
  557. package/dist/mcp/tools/search-nodes.js +33 -0
  558. package/dist/mcp/tools/search-nodes.js.map +1 -0
  559. package/dist/mcp/tools/start-lineage.d.ts +4 -0
  560. package/dist/mcp/tools/start-lineage.d.ts.map +1 -0
  561. package/dist/mcp/tools/start-lineage.js +31 -0
  562. package/dist/mcp/tools/start-lineage.js.map +1 -0
  563. package/dist/mcp/tools/sync-apply.d.ts +4 -0
  564. package/dist/mcp/tools/sync-apply.d.ts.map +1 -0
  565. package/dist/mcp/tools/sync-apply.js +23 -0
  566. package/dist/mcp/tools/sync-apply.js.map +1 -0
  567. package/dist/mcp/tools/sync-export.d.ts +4 -0
  568. package/dist/mcp/tools/sync-export.d.ts.map +1 -0
  569. package/dist/mcp/tools/sync-export.js +33 -0
  570. package/dist/mcp/tools/sync-export.js.map +1 -0
  571. package/dist/mcp/tools/sync-status.d.ts +4 -0
  572. package/dist/mcp/tools/sync-status.d.ts.map +1 -0
  573. package/dist/mcp/tools/sync-status.js +29 -0
  574. package/dist/mcp/tools/sync-status.js.map +1 -0
  575. package/dist/mcp/tools/update-identity.d.ts +4 -0
  576. package/dist/mcp/tools/update-identity.d.ts.map +1 -0
  577. package/dist/mcp/tools/update-identity.js +39 -0
  578. package/dist/mcp/tools/update-identity.js.map +1 -0
  579. package/dist/renderer/assets/index-Bs2j5Xf4.css +1 -0
  580. package/dist/renderer/assets/index-ovMIJ8mi.js +22 -0
  581. package/dist/renderer/index.html +17 -0
  582. package/package.json +77 -6
@@ -0,0 +1,206 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { motion, AnimatePresence } from 'motion/react';
4
+ import { NavItem } from './NavItem.js';
5
+ import { PathsLogo } from './PathsLogo.js';
6
+ import { ErrorBoundary } from '../shared/ErrorBoundary.js';
7
+ import { useTheme } from '../../context/theme-context.js';
8
+ const SURFACE_TITLES = {
9
+ dashboard: {
10
+ title: 'Dashboard',
11
+ subtitle: 'Project overview & compiler digest',
12
+ },
13
+ lineages: {
14
+ title: 'Lineage Manager',
15
+ subtitle: 'Lineage orchestrator & context switching',
16
+ },
17
+ knowledge: {
18
+ title: 'Knowledge Explorer',
19
+ subtitle: 'Decisions, architecture & project knowledge',
20
+ },
21
+ timeline: {
22
+ title: 'Session Timeline',
23
+ subtitle: 'Chronological workstream history',
24
+ },
25
+ todos: {
26
+ title: 'Todo Board',
27
+ subtitle: 'Todo tracking & follow-ups',
28
+ },
29
+ };
30
+ export function AppShell({ activeSurface, onSelectSurface, projectName, activeLineageName, openTodoCount, knowledgeCount, headerContextualControls, onRefresh, children, }) {
31
+ const { theme, toggleTheme } = useTheme();
32
+ // Persist sidebar collapsed state in localStorage
33
+ const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(() => {
34
+ try {
35
+ return localStorage.getItem('paths_gui_sidebar_collapsed') === 'true';
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ });
41
+ const toggleSidebar = () => {
42
+ setIsSidebarCollapsed((prev) => {
43
+ const next = !prev;
44
+ try {
45
+ localStorage.setItem('paths_gui_sidebar_collapsed', String(next));
46
+ }
47
+ catch {
48
+ // Local storage might not be accessible in restricted environments
49
+ }
50
+ return next;
51
+ });
52
+ };
53
+ const currentSurfaceMeta = SURFACE_TITLES[activeSurface] || {
54
+ title: 'Paths',
55
+ subtitle: 'Visual Memory Explorer',
56
+ };
57
+ return (_jsxs("div", { className: "app-container", children: [_jsxs("aside", { className: `sidebar ${isSidebarCollapsed ? 'collapsed' : ''}`, "aria-label": "Main Navigation", children: [_jsxs("div", { style: {
58
+ padding: isSidebarCollapsed ? '20px 8px 16px' : '20px 18px 16px',
59
+ borderBottom: '1px solid var(--border-subtle)',
60
+ display: 'flex',
61
+ flexDirection: 'column',
62
+ gap: '14px',
63
+ }, children: [!isSidebarCollapsed ? (
64
+ /* Expanded Header: Logo & Title on Left, PanelLeft Toggle on Right */
65
+ _jsxs("div", { style: {
66
+ display: 'flex',
67
+ alignItems: 'center',
68
+ justifyContent: 'space-between',
69
+ width: '100%',
70
+ }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '10px' }, children: [_jsx(PathsLogo, { containerSize: 32, size: 18 }), _jsxs("div", { children: [_jsx("h1", { style: { fontSize: '15px', fontWeight: 700, color: 'var(--text-primary)', letterSpacing: '-0.02em', lineHeight: 1.2 }, children: "Paths" }), _jsx("span", { style: { fontSize: '11px', color: 'var(--text-muted)' }, children: "Visual Memory" })] })] }), _jsx("button", { type: "button", onClick: toggleSidebar, "aria-label": "Collapse sidebar", title: "Collapse sidebar", style: {
71
+ width: '28px',
72
+ height: '28px',
73
+ display: 'inline-flex',
74
+ alignItems: 'center',
75
+ justifyContent: 'center',
76
+ borderRadius: 'var(--radius-sm)',
77
+ color: 'var(--text-muted)',
78
+ backgroundColor: 'transparent',
79
+ transition: 'all var(--transition-fast)',
80
+ }, onMouseEnter: (e) => {
81
+ e.currentTarget.style.backgroundColor = 'var(--bg-control-hover)';
82
+ e.currentTarget.style.color = 'var(--text-primary)';
83
+ }, onMouseLeave: (e) => {
84
+ e.currentTarget.style.backgroundColor = 'transparent';
85
+ e.currentTarget.style.color = 'var(--text-muted)';
86
+ }, children: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }), _jsx("path", { d: "M9 3v18" })] }) })] })) : (
87
+ /* Collapsed Header: Logo Permanently Centered at Top, PanelLeft Toggle Below */
88
+ _jsxs("div", { style: {
89
+ display: 'flex',
90
+ flexDirection: 'column',
91
+ alignItems: 'center',
92
+ justifyContent: 'center',
93
+ gap: '10px',
94
+ width: '100%',
95
+ }, children: [_jsx(PathsLogo, { containerSize: 36, size: 18, title: "Paths \u2014 Visual Memory" }), _jsx("button", { type: "button", onClick: toggleSidebar, "aria-label": "Expand sidebar", title: "Expand sidebar", style: {
96
+ width: '32px',
97
+ height: '32px',
98
+ display: 'inline-flex',
99
+ alignItems: 'center',
100
+ justifyContent: 'center',
101
+ borderRadius: 'var(--radius-md)',
102
+ color: 'var(--text-muted)',
103
+ backgroundColor: 'var(--bg-control)',
104
+ border: '1px solid var(--border-control)',
105
+ transition: 'all var(--transition-fast)',
106
+ }, onMouseEnter: (e) => {
107
+ e.currentTarget.style.backgroundColor = 'var(--bg-control-hover)';
108
+ e.currentTarget.style.color = 'var(--accent-primary)';
109
+ e.currentTarget.style.borderColor = 'var(--accent-border)';
110
+ }, onMouseLeave: (e) => {
111
+ e.currentTarget.style.backgroundColor = 'var(--bg-control)';
112
+ e.currentTarget.style.color = 'var(--text-muted)';
113
+ e.currentTarget.style.borderColor = 'var(--border-control)';
114
+ }, children: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }), _jsx("path", { d: "M9 3v18" })] }) })] })), !isSidebarCollapsed ? (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '8px' }, children: [_jsx("div", { style: {
115
+ fontSize: '12px',
116
+ fontWeight: 600,
117
+ color: 'var(--text-primary)',
118
+ whiteSpace: 'nowrap',
119
+ overflow: 'hidden',
120
+ textOverflow: 'ellipsis',
121
+ }, title: projectName ?? 'Uninitialized Project', children: projectName ?? 'Paths Project' }), _jsxs("div", { style: {
122
+ display: 'inline-flex',
123
+ alignItems: 'center',
124
+ gap: '6px',
125
+ fontSize: '11px',
126
+ padding: '4px 10px',
127
+ borderRadius: 'var(--radius-full)',
128
+ backgroundColor: activeLineageName ? 'var(--status-active-bg)' : 'var(--bg-control)',
129
+ color: activeLineageName ? 'var(--status-active-text)' : 'var(--text-muted)',
130
+ border: activeLineageName ? '1px solid var(--status-active-border)' : '1px solid var(--border-subtle)',
131
+ boxShadow: activeLineageName ? 'var(--specular-highlight)' : 'none',
132
+ width: 'fit-content',
133
+ maxWidth: '100%',
134
+ }, children: [_jsx("span", { style: {
135
+ width: '6px',
136
+ height: '6px',
137
+ borderRadius: '50%',
138
+ backgroundColor: activeLineageName ? 'var(--status-active-text)' : 'var(--text-muted)',
139
+ }, "aria-hidden": "true" }), _jsx("span", { style: {
140
+ whiteSpace: 'nowrap',
141
+ overflow: 'hidden',
142
+ textOverflow: 'ellipsis',
143
+ fontWeight: 500,
144
+ }, children: activeLineageName ?? 'No Active Lineage' })] })] })) : (_jsx("div", { style: {
145
+ display: 'flex',
146
+ justifyContent: 'center',
147
+ padding: '4px 0',
148
+ }, title: `${projectName ?? 'Project'} — ${activeLineageName ?? 'No Lineage'}`, children: _jsx("span", { style: {
149
+ width: '8px',
150
+ height: '8px',
151
+ borderRadius: '50%',
152
+ backgroundColor: activeLineageName ? 'var(--status-active-text)' : 'var(--text-muted)',
153
+ }, "aria-hidden": "true" }) }))] }), _jsxs("nav", { style: { flex: 1, padding: isSidebarCollapsed ? '16px 6px' : '16px 10px', display: 'flex', flexDirection: 'column', gap: '4px' }, children: [!isSidebarCollapsed && (_jsx("div", { style: {
154
+ fontSize: '10px',
155
+ fontWeight: 700,
156
+ textTransform: 'uppercase',
157
+ letterSpacing: '0.08em',
158
+ color: 'var(--text-muted)',
159
+ padding: '8px 14px 6px',
160
+ userSelect: 'none',
161
+ }, children: "Main Menu" })), _jsx(NavItem, { id: "dashboard", label: "Dashboard", isCollapsed: isSidebarCollapsed, isActive: activeSurface === 'dashboard', onClick: () => onSelectSurface('dashboard'), icon: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "14", width: "7", height: "7" }), _jsx("rect", { x: "3", y: "14", width: "7", height: "7" })] }) }), _jsx(NavItem, { id: "lineages", label: "Lineage Manager", isCollapsed: isSidebarCollapsed, isActive: activeSurface === 'lineages', onClick: () => onSelectSurface('lineages'), icon: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "6", y1: "3", x2: "6", y2: "15" }), _jsx("circle", { cx: "18", cy: "6", r: "3" }), _jsx("circle", { cx: "6", cy: "18", r: "3" }), _jsx("path", { d: "M18 9a9 9 0 0 1-9 9" })] }) }), _jsx(NavItem, { id: "knowledge", label: "Knowledge Explorer", isCollapsed: isSidebarCollapsed, isActive: activeSurface === 'knowledge', onClick: () => onSelectSurface('knowledge'), badge: knowledgeCount, icon: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M4 19.5A2.5 2.5 0 0 1 6.5 17H20" }), _jsx("path", { d: "M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z" })] }) }), !isSidebarCollapsed && (_jsx("div", { style: {
162
+ fontSize: '10px',
163
+ fontWeight: 700,
164
+ textTransform: 'uppercase',
165
+ letterSpacing: '0.08em',
166
+ color: 'var(--text-muted)',
167
+ padding: '18px 14px 6px',
168
+ userSelect: 'none',
169
+ }, children: "Workflow" })), _jsx(NavItem, { id: "timeline", label: "Session Timeline", isCollapsed: isSidebarCollapsed, isActive: activeSurface === 'timeline', onClick: () => onSelectSurface('timeline'), icon: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("polyline", { points: "12 6 12 12 16 14" })] }) }), _jsx(NavItem, { id: "todos", label: "Todo Board", isCollapsed: isSidebarCollapsed, isActive: activeSurface === 'todos', onClick: () => onSelectSurface('todos'), badge: openTodoCount, icon: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M9 11l3 3L22 4" }), _jsx("path", { d: "M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11" })] }) })] }), _jsx("div", { style: {
170
+ padding: isSidebarCollapsed ? '12px 6px' : '12px 14px',
171
+ borderTop: '1px solid var(--border-subtle)',
172
+ fontSize: '11px',
173
+ color: 'var(--text-muted)',
174
+ display: 'flex',
175
+ alignItems: 'center',
176
+ justifyContent: isSidebarCollapsed ? 'center' : 'space-between',
177
+ gap: '8px',
178
+ }, children: !isSidebarCollapsed ? (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '6px' }, children: [_jsx("span", { style: {
179
+ width: '6px',
180
+ height: '6px',
181
+ borderRadius: '50%',
182
+ backgroundColor: 'var(--status-active-text)',
183
+ }, "aria-hidden": "true" }), _jsx("span", { style: { color: 'var(--text-secondary)', fontWeight: 500 }, children: "IPC Active" })] })) : (_jsx("span", { style: {
184
+ width: '6px',
185
+ height: '6px',
186
+ borderRadius: '50%',
187
+ backgroundColor: 'var(--status-active-text)',
188
+ }, title: "IPC Active", "aria-hidden": "true" })) })] }), _jsxs("div", { className: "main-content", children: [_jsxs("header", { className: "surface-header app-drag-region", children: [_jsx("div", { className: "surface-title-zone no-drag", children: _jsx("h2", { className: "surface-title", children: currentSurfaceMeta.title }) }), _jsx("div", { className: "surface-contextual-zone no-drag", children: headerContextualControls }), _jsxs("div", { className: "surface-window-zone no-drag", children: [onRefresh && (_jsx("button", { type: "button", onClick: () => void onRefresh(), className: "window-btn", "aria-label": "Refresh Project", title: "Refresh Project", children: _jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M21.5 2v6h-6M21.34 15.57a10 10 0 1 1-.57-8.38l5.67-5.67" }) }) })), _jsx("button", { type: "button", onClick: toggleTheme, className: "window-btn", "aria-label": `Switch to ${theme === 'dark' ? 'light' : 'dark'} mode`, title: `Switch to ${theme === 'dark' ? 'light' : 'dark'} mode`, children: theme === 'dark' ? (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "5" }), _jsx("line", { x1: "12", y1: "1", x2: "12", y2: "3" }), _jsx("line", { x1: "12", y1: "21", x2: "12", y2: "23" }), _jsx("line", { x1: "4.22", y1: "4.22", x2: "5.64", y2: "5.64" }), _jsx("line", { x1: "18.36", y1: "18.36", x2: "19.78", y2: "19.78" }), _jsx("line", { x1: "1", y1: "12", x2: "3", y2: "12" }), _jsx("line", { x1: "21", y1: "12", x2: "23", y2: "12" }), _jsx("line", { x1: "4.22", y1: "19.78", x2: "5.64", y2: "18.36" }), _jsx("line", { x1: "18.36", y1: "5.64", x2: "19.78", y2: "4.22" })] })) : (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" }) })) }), _jsxs("div", { className: "window-controls", style: { WebkitAppRegion: 'no-drag' }, children: [_jsx("button", { type: "button", onClick: () => {
189
+ void window.pathsApi?.minimizeWindow();
190
+ }, className: "window-btn", "aria-label": "Minimize Window", title: "Minimize", style: { WebkitAppRegion: 'no-drag' }, children: _jsx("svg", { width: "10", height: "2", viewBox: "0 0 10 2", fill: "currentColor", style: { pointerEvents: 'none' }, children: _jsx("rect", { width: "10", height: "2", rx: "1" }) }) }), _jsx("button", { type: "button", onClick: () => {
191
+ void window.pathsApi?.maximizeWindow();
192
+ }, className: "window-btn", "aria-label": "Maximize Window", title: "Maximize", style: { WebkitAppRegion: 'no-drag' }, children: _jsx("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", stroke: "currentColor", strokeWidth: "1.2", style: { pointerEvents: 'none' }, children: _jsx("rect", { x: "1", y: "1", width: "8", height: "8", rx: "1" }) }) }), _jsx("button", { type: "button", onClick: () => {
193
+ void window.pathsApi?.closeWindow();
194
+ }, className: "window-btn close", "aria-label": "Close Window", title: "Close", style: { WebkitAppRegion: 'no-drag' }, children: _jsxs("svg", { width: "10", height: "10", viewBox: "0 0 10 10", stroke: "currentColor", strokeWidth: "1.4", strokeLinecap: "round", style: { pointerEvents: 'none' }, children: [_jsx("line", { x1: "1", y1: "1", x2: "9", y2: "9" }), _jsx("line", { x1: "9", y1: "1", x2: "1", y2: "9" })] }) })] })] })] }), _jsx("main", { style: {
195
+ flex: 1,
196
+ display: 'flex',
197
+ flexDirection: 'column',
198
+ overflow: 'hidden',
199
+ }, role: "region", "aria-label": "Active Surface Content", children: _jsx(AnimatePresence, { mode: "wait", initial: false, children: _jsx(motion.div, { initial: { opacity: 0, y: 6 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -6 }, transition: { duration: 0.18, ease: [0.16, 1, 0.3, 1] }, style: {
200
+ flex: 1,
201
+ display: 'flex',
202
+ flexDirection: 'column',
203
+ overflow: 'hidden',
204
+ }, children: _jsx(ErrorBoundary, { fallbackTitle: `Error Loading ${currentSurfaceMeta.title}`, children: children }) }, activeSurface) }) })] })] }));
205
+ }
206
+ //# sourceMappingURL=AppShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../../src/gui/renderer/components/layout/AppShell.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAa,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAgB1D,MAAM,cAAc,GAA4D;IAC9E,SAAS,EAAE;QACT,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,oCAAoC;KAC/C;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,0CAA0C;KACrD;IACD,SAAS,EAAE;QACT,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,6CAA6C;KACxD;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE,kCAAkC;KAC7C;IACD,KAAK,EAAE;QACL,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,4BAA4B;KACvC;CACF,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,EACvB,aAAa,EACb,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,SAAS,EACT,QAAQ,GACM;IACd,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE1C,kDAAkD;IAClD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,GAAG,EAAE;QACzE,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,MAAM,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC;gBACH,YAAY,CAAC,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;YACrE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI;QAC1D,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,wBAAwB;KACnC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,eAAe,aAE5B,iBACE,SAAS,EAAE,WAAW,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,gBAClD,iBAAiB,aAG5B,eACE,KAAK,EAAE;4BACL,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;4BAChE,YAAY,EAAE,gCAAgC;4BAC9C,OAAO,EAAE,MAAM;4BACf,aAAa,EAAE,QAAQ;4BACvB,GAAG,EAAE,MAAM;yBACZ,aAEA,CAAC,kBAAkB,CAAC,CAAC,CAAC;4BACrB,sEAAsE;4BACtE,eACE,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM;oCACf,UAAU,EAAE,QAAQ;oCACpB,cAAc,EAAE,eAAe;oCAC/B,KAAK,EAAE,MAAM;iCACd,aAED,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,aAChE,KAAC,SAAS,IAAC,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAI,EAC1C,0BACE,aAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,sBAEpH,EACL,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,8BAEtD,IACH,IACF,EAGN,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,gBACX,kBAAkB,EAC7B,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE;4CACL,KAAK,EAAE,MAAM;4CACb,MAAM,EAAE,MAAM;4CACd,OAAO,EAAE,aAAa;4CACtB,UAAU,EAAE,QAAQ;4CACpB,cAAc,EAAE,QAAQ;4CACxB,YAAY,EAAE,kBAAkB;4CAChC,KAAK,EAAE,mBAAmB;4CAC1B,eAAe,EAAE,aAAa;4CAC9B,UAAU,EAAE,4BAA4B;yCACzC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;4CAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,yBAAyB,CAAC;4CAClE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,qBAAqB,CAAC;wCACtD,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;4CAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,aAAa,CAAC;4CACtD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,mBAAmB,CAAC;wCACpD,CAAC,YAED,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC5I,eAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EAClD,eAAM,CAAC,EAAC,SAAS,GAAG,IAChB,GACC,IACL,CACP,CAAC,CAAC,CAAC;4BACF,gFAAgF;4BAChF,eACE,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM;oCACf,aAAa,EAAE,QAAQ;oCACvB,UAAU,EAAE,QAAQ;oCACpB,cAAc,EAAE,QAAQ;oCACxB,GAAG,EAAE,MAAM;oCACX,KAAK,EAAE,MAAM;iCACd,aAGD,KAAC,SAAS,IAAC,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,4BAAuB,GAAG,EAGxE,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,gBACX,gBAAgB,EAC3B,KAAK,EAAC,gBAAgB,EACtB,KAAK,EAAE;4CACL,KAAK,EAAE,MAAM;4CACb,MAAM,EAAE,MAAM;4CACd,OAAO,EAAE,aAAa;4CACtB,UAAU,EAAE,QAAQ;4CACpB,cAAc,EAAE,QAAQ;4CACxB,YAAY,EAAE,kBAAkB;4CAChC,KAAK,EAAE,mBAAmB;4CAC1B,eAAe,EAAE,mBAAmB;4CACpC,MAAM,EAAE,iCAAiC;4CACzC,UAAU,EAAE,4BAA4B;yCACzC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;4CAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,yBAAyB,CAAC;4CAClE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,uBAAuB,CAAC;4CACtD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,GAAG,sBAAsB,CAAC;wCAC7D,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;4CAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,mBAAmB,CAAC;4CAC5D,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,mBAAmB,CAAC;4CAClD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,GAAG,uBAAuB,CAAC;wCAC9D,CAAC,YAED,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC5I,eAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EAClD,eAAM,CAAC,EAAC,SAAS,GAAG,IAChB,GACC,IACL,CACP,EAGA,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACrB,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,aAClE,cACE,KAAK,EAAE;4CACL,QAAQ,EAAE,MAAM;4CAChB,UAAU,EAAE,GAAG;4CACf,KAAK,EAAE,qBAAqB;4CAC5B,UAAU,EAAE,QAAQ;4CACpB,QAAQ,EAAE,QAAQ;4CAClB,YAAY,EAAE,UAAU;yCACzB,EACD,KAAK,EAAE,WAAW,IAAI,uBAAuB,YAE5C,WAAW,IAAI,eAAe,GAC3B,EAEN,eACE,KAAK,EAAE;4CACL,OAAO,EAAE,aAAa;4CACtB,UAAU,EAAE,QAAQ;4CACpB,GAAG,EAAE,KAAK;4CACV,QAAQ,EAAE,MAAM;4CAChB,OAAO,EAAE,UAAU;4CACnB,YAAY,EAAE,oBAAoB;4CAClC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,mBAAmB;4CACpF,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,mBAAmB;4CAC5E,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,gCAAgC;4CACtG,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM;4CACnE,KAAK,EAAE,aAAa;4CACpB,QAAQ,EAAE,MAAM;yCACjB,aAED,eACE,KAAK,EAAE;oDACL,KAAK,EAAE,KAAK;oDACZ,MAAM,EAAE,KAAK;oDACb,YAAY,EAAE,KAAK;oDACnB,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,mBAAmB;iDACvF,iBACW,MAAM,GAClB,EACF,eACE,KAAK,EAAE;oDACL,UAAU,EAAE,QAAQ;oDACpB,QAAQ,EAAE,QAAQ;oDAClB,YAAY,EAAE,UAAU;oDACxB,UAAU,EAAE,GAAG;iDAChB,YAEA,iBAAiB,IAAI,mBAAmB,GACpC,IACH,IACF,CACP,CAAC,CAAC,CAAC,CACF,cACE,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM;oCACf,cAAc,EAAE,QAAQ;oCACxB,OAAO,EAAE,OAAO;iCACjB,EACD,KAAK,EAAE,GAAG,WAAW,IAAI,SAAS,MAAM,iBAAiB,IAAI,YAAY,EAAE,YAE3E,eACE,KAAK,EAAE;wCACL,KAAK,EAAE,KAAK;wCACZ,MAAM,EAAE,KAAK;wCACb,YAAY,EAAE,KAAK;wCACnB,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,mBAAmB;qCACvF,iBACW,MAAM,GAClB,GACE,CACP,IACG,EAGN,eAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,aAClI,CAAC,kBAAkB,IAAI,CACtB,cACE,KAAK,EAAE;oCACL,QAAQ,EAAE,MAAM;oCAChB,UAAU,EAAE,GAAG;oCACf,aAAa,EAAE,WAAW;oCAC1B,aAAa,EAAE,QAAQ;oCACvB,KAAK,EAAE,mBAAmB;oCAC1B,OAAO,EAAE,cAAc;oCACvB,UAAU,EAAE,MAAM;iCACnB,0BAGG,CACP,EAED,KAAC,OAAO,IACN,EAAE,EAAC,WAAW,EACd,KAAK,EAAC,WAAW,EACjB,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,aAAa,KAAK,WAAW,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,EAC3C,IAAI,EACF,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC5I,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,GAAG,EACzC,eAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,GAAG,EAC1C,eAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,GAAG,EAC3C,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,GAAG,IACtC,GAER,EAEF,KAAC,OAAO,IACN,EAAE,EAAC,UAAU,EACb,KAAK,EAAC,iBAAiB,EACvB,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,aAAa,KAAK,UAAU,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,EAC1C,IAAI,EACF,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC5I,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACrC,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,GAAG,EAC/B,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAC/B,eAAM,CAAC,EAAC,qBAAqB,GAAG,IAC5B,GAER,EAEF,KAAC,OAAO,IACN,EAAE,EAAC,WAAW,EACd,KAAK,EAAC,oBAAoB,EAC1B,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,aAAa,KAAK,WAAW,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,EAC3C,KAAK,EAAE,cAAc,EACrB,IAAI,EACF,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC5I,eAAM,CAAC,EAAC,iCAAiC,GAAG,EAC5C,eAAM,CAAC,EAAC,gEAAgE,GAAG,IACvE,GAER,EAED,CAAC,kBAAkB,IAAI,CACtB,cACE,KAAK,EAAE;oCACL,QAAQ,EAAE,MAAM;oCAChB,UAAU,EAAE,GAAG;oCACf,aAAa,EAAE,WAAW;oCAC1B,aAAa,EAAE,QAAQ;oCACvB,KAAK,EAAE,mBAAmB;oCAC1B,OAAO,EAAE,eAAe;oCACxB,UAAU,EAAE,MAAM;iCACnB,yBAGG,CACP,EAED,KAAC,OAAO,IACN,EAAE,EAAC,UAAU,EACb,KAAK,EAAC,kBAAkB,EACxB,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,aAAa,KAAK,UAAU,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,EAC1C,IAAI,EACF,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC5I,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,mBAAU,MAAM,EAAC,kBAAkB,GAAG,IAClC,GAER,EAEF,KAAC,OAAO,IACN,EAAE,EAAC,OAAO,EACV,KAAK,EAAC,YAAY,EAClB,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,aAAa,KAAK,OAAO,EACnC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EACvC,KAAK,EAAE,aAAa,EACpB,IAAI,EACF,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC5I,eAAM,CAAC,EAAC,gBAAgB,GAAG,EAC3B,eAAM,CAAC,EAAC,2DAA2D,GAAG,IAClE,GAER,IACE,EAGN,cACE,KAAK,EAAE;4BACL,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;4BACtD,SAAS,EAAE,gCAAgC;4BAC3C,QAAQ,EAAE,MAAM;4BAChB,KAAK,EAAE,mBAAmB;4BAC1B,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe;4BAC/D,GAAG,EAAE,KAAK;yBACX,YAEA,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACrB,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,aAC/D,eACE,KAAK,EAAE;wCACL,KAAK,EAAE,KAAK;wCACZ,MAAM,EAAE,KAAK;wCACb,YAAY,EAAE,KAAK;wCACnB,eAAe,EAAE,2BAA2B;qCAC7C,iBACW,MAAM,GAClB,EACF,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,GAAG,EAAE,2BAAmB,IAC/E,CACP,CAAC,CAAC,CAAC,CACF,eACE,KAAK,EAAE;gCACL,KAAK,EAAE,KAAK;gCACZ,MAAM,EAAE,KAAK;gCACb,YAAY,EAAE,KAAK;gCACnB,eAAe,EAAE,2BAA2B;6BAC7C,EACD,KAAK,EAAC,YAAY,iBACN,MAAM,GAClB,CACH,GACG,IACA,EAGR,eAAK,SAAS,EAAC,cAAc,aAE3B,kBAAQ,SAAS,EAAC,gCAAgC,aAChD,cAAK,SAAS,EAAC,4BAA4B,YACzC,aAAI,SAAS,EAAC,eAAe,YAAE,kBAAkB,CAAC,KAAK,GAAM,GACzD,EAEN,cAAK,SAAS,EAAC,iCAAiC,YAC7C,wBAAwB,GACrB,EAEN,eAAK,SAAS,EAAC,6BAA6B,aAEzC,SAAS,IAAI,CACZ,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,EAAE,EAC/B,SAAS,EAAC,YAAY,gBACX,iBAAiB,EAC5B,KAAK,EAAC,iBAAiB,YAEvB,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,YAC5I,eAAM,CAAC,EAAC,yDAAyD,GAAG,GAChE,GACC,CACV,EAGD,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,SAAS,EAAC,YAAY,gBACV,aAAa,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EACnE,KAAK,EAAE,aAAa,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,YAE7D,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC5I,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAChC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACtC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACxC,eAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,GAAG,EAChD,eAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,GAAG,EACpD,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACtC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACxC,eAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,GAAG,EAClD,eAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,GAAG,IAC9C,CACP,CAAC,CAAC,CAAC,CACF,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,YAC5I,eAAM,CAAC,EAAC,iDAAiD,GAAG,GACxD,CACP,GACM,EAGT,eAAK,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAyB,aAC3F,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;oDACZ,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;gDACzC,CAAC,EACD,SAAS,EAAC,YAAY,gBACX,iBAAiB,EAC5B,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAyB,YAE5D,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,YAChG,eAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,GACjC,GACC,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;oDACZ,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;gDACzC,CAAC,EACD,SAAS,EAAC,YAAY,gBACX,iBAAiB,EAC5B,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAyB,YAE5D,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,YAClI,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,GAC5C,GACC,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;oDACZ,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;gDACtC,CAAC,EACD,SAAS,EAAC,kBAAkB,gBACjB,cAAc,EACzB,KAAK,EAAC,OAAO,EACb,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAyB,YAE5D,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,aAC5I,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EACpC,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,IAChC,GACC,IACL,IACF,IACC,EAGT,eACE,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC;4BACP,OAAO,EAAE,MAAM;4BACf,aAAa,EAAE,QAAQ;4BACvB,QAAQ,EAAE,QAAQ;yBACnB,EACD,IAAI,EAAC,QAAQ,gBACF,wBAAwB,YAEnC,KAAC,eAAe,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,KAAK,YACzC,KAAC,MAAM,CAAC,GAAG,IAET,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAC7B,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAC3B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EACvD,KAAK,EAAE;oCACL,IAAI,EAAE,CAAC;oCACP,OAAO,EAAE,MAAM;oCACf,aAAa,EAAE,QAAQ;oCACvB,QAAQ,EAAE,QAAQ;iCACnB,YAED,KAAC,aAAa,IAAC,aAAa,EAAE,iBAAiB,kBAAkB,CAAC,KAAK,EAAE,YACtE,QAAQ,GACK,IAdX,aAAa,CAeP,GACG,GACb,IACH,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export interface NavItemProps {
3
+ id: string;
4
+ label: string;
5
+ icon: React.ReactNode;
6
+ isActive: boolean;
7
+ isCollapsed?: boolean;
8
+ badge?: number | string;
9
+ onClick: () => void;
10
+ }
11
+ export declare function NavItem({ label, icon, isActive, isCollapsed, badge, onClick, }: NavItemProps): React.JSX.Element;
12
+ //# sourceMappingURL=NavItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../../../../src/gui/renderer/components/layout/NavItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,WAAmB,EACnB,KAAK,EACL,OAAO,GACR,EAAE,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsHlC"}
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { motion } from 'motion/react';
3
+ export function NavItem({ label, icon, isActive, isCollapsed = false, badge, onClick, }) {
4
+ return (_jsxs(motion.button, { type: "button", onClick: onClick, "aria-current": isActive ? 'page' : undefined, "aria-label": label, title: isCollapsed ? label : undefined, className: `nav-item ${isActive ? 'active' : ''}`, whileTap: { scale: 0.98 }, style: {
5
+ display: 'flex',
6
+ alignItems: 'center',
7
+ justifyContent: isCollapsed ? 'center' : 'space-between',
8
+ width: '100%',
9
+ padding: isCollapsed ? '10px 0' : '9px 14px',
10
+ borderRadius: isCollapsed ? 'var(--radius-md)' : 'var(--radius-full)',
11
+ fontSize: '13px',
12
+ fontWeight: isActive ? 600 : 500,
13
+ color: isActive ? 'var(--nav-active-text)' : 'var(--text-secondary)',
14
+ border: '1px solid transparent',
15
+ transition: 'color var(--transition-fast)',
16
+ textAlign: 'left',
17
+ position: 'relative',
18
+ userSelect: 'none',
19
+ cursor: 'pointer',
20
+ }, children: [isActive && (_jsx(motion.div, { layoutId: "active-nav-indicator", transition: { type: 'spring', stiffness: 400, damping: 32 }, style: {
21
+ position: 'absolute',
22
+ inset: 0,
23
+ borderRadius: isCollapsed ? 'var(--radius-md)' : 'var(--radius-full)',
24
+ backgroundColor: 'var(--nav-active-bg)',
25
+ backdropFilter: 'blur(12px)',
26
+ WebkitBackdropFilter: 'blur(12px)',
27
+ border: '1px solid var(--nav-active-border)',
28
+ boxShadow: 'var(--nav-active-glow), var(--specular-highlight)',
29
+ zIndex: 0,
30
+ } })), _jsxs("div", { style: {
31
+ display: 'flex',
32
+ alignItems: 'center',
33
+ justifyContent: isCollapsed ? 'center' : 'flex-start',
34
+ gap: isCollapsed ? '0' : '10px',
35
+ width: isCollapsed ? '100%' : 'auto',
36
+ position: 'relative',
37
+ zIndex: 1,
38
+ }, children: [_jsx("span", { style: {
39
+ display: 'flex',
40
+ alignItems: 'center',
41
+ justifyContent: 'center',
42
+ color: isActive ? 'var(--accent-primary)' : 'inherit',
43
+ transition: 'color var(--transition-fast)',
44
+ }, "aria-hidden": "true", children: icon }), !isCollapsed && (_jsx("span", { style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }, children: label }))] }), !isCollapsed && badge !== undefined && badge !== null && (_jsx("span", { style: {
45
+ fontSize: '11px',
46
+ fontWeight: 700,
47
+ display: 'inline-flex',
48
+ alignItems: 'center',
49
+ justifyContent: 'center',
50
+ minWidth: '20px',
51
+ height: '20px',
52
+ padding: '0 6px',
53
+ borderRadius: 'var(--radius-full)',
54
+ backgroundColor: isActive ? 'var(--nav-badge-active-bg)' : 'var(--nav-badge-bg)',
55
+ color: isActive ? 'var(--nav-badge-active-text)' : 'var(--nav-badge-text)',
56
+ border: '1px solid var(--border-subtle)',
57
+ boxShadow: 'var(--shadow-xs)',
58
+ position: 'relative',
59
+ zIndex: 1,
60
+ }, children: badge })), isCollapsed && badge !== undefined && badge !== null && Number(badge) > 0 && (_jsx("span", { style: {
61
+ position: 'absolute',
62
+ top: '5px',
63
+ right: '10px',
64
+ width: '7px',
65
+ height: '7px',
66
+ borderRadius: '50%',
67
+ backgroundColor: 'var(--accent-primary)',
68
+ boxShadow: '0 0 6px var(--accent-primary)',
69
+ zIndex: 1,
70
+ }, "aria-hidden": "true" }))] }));
71
+ }
72
+ //# sourceMappingURL=NavItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavItem.js","sourceRoot":"","sources":["../../../../../src/gui/renderer/components/layout/NavItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export interface PathsLogoProps {
3
+ size?: number;
4
+ containerSize?: number;
5
+ className?: string;
6
+ title?: string;
7
+ }
8
+ export declare function PathsLogo({ size, containerSize, className, title, }: PathsLogoProps): React.JSX.Element;
9
+ //# sourceMappingURL=PathsLogo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PathsLogo.d.ts","sourceRoot":"","sources":["../../../../../src/gui/renderer/components/layout/PathsLogo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyED,wBAAgB,SAAS,CAAC,EACxB,IAAS,EACT,aAAkB,EAClB,SAAc,EACd,KAA+B,GAChC,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsFpC"}
@@ -0,0 +1,87 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { motion } from 'motion/react';
3
+ const containerVariants = {
4
+ rest: {},
5
+ hover: {},
6
+ };
7
+ const node1Variants = {
8
+ rest: {
9
+ scale: 1,
10
+ fill: 'rgba(56, 189, 248, 0.15)',
11
+ stroke: 'var(--accent-primary)',
12
+ },
13
+ hover: {
14
+ scale: [1, 1.35, 1],
15
+ fill: ['rgba(56, 189, 248, 0.15)', 'var(--accent-primary)', 'rgba(56, 189, 248, 0.3)'],
16
+ stroke: ['var(--accent-primary)', '#ffffff', 'var(--accent-primary)'],
17
+ transition: { duration: 0.25, ease: 'easeOut' },
18
+ },
19
+ };
20
+ const line1Variants = {
21
+ rest: {
22
+ pathLength: 1,
23
+ opacity: 0.85,
24
+ },
25
+ hover: {
26
+ pathLength: [0, 1],
27
+ opacity: [0.2, 1],
28
+ transition: { duration: 0.3, delay: 0.18, ease: 'easeInOut' },
29
+ },
30
+ };
31
+ const node2Variants = {
32
+ rest: {
33
+ scale: 1,
34
+ fill: 'rgba(56, 189, 248, 0.15)',
35
+ stroke: 'var(--accent-primary)',
36
+ },
37
+ hover: {
38
+ scale: [1, 1.35, 1],
39
+ fill: ['rgba(56, 189, 248, 0.15)', 'var(--accent-primary)', 'rgba(56, 189, 248, 0.3)'],
40
+ stroke: ['var(--accent-primary)', '#ffffff', 'var(--accent-primary)'],
41
+ transition: { duration: 0.25, delay: 0.45, ease: 'easeOut' },
42
+ },
43
+ };
44
+ const line2Variants = {
45
+ rest: {
46
+ pathLength: 1,
47
+ opacity: 0.85,
48
+ },
49
+ hover: {
50
+ pathLength: [0, 1],
51
+ opacity: [0.2, 1],
52
+ transition: { duration: 0.3, delay: 0.65, ease: 'easeInOut' },
53
+ },
54
+ };
55
+ const node3Variants = {
56
+ rest: {
57
+ scale: 1,
58
+ fill: 'rgba(56, 189, 248, 0.15)',
59
+ stroke: 'var(--accent-primary)',
60
+ },
61
+ hover: {
62
+ scale: [1, 1.35, 1],
63
+ fill: ['rgba(56, 189, 248, 0.15)', 'var(--accent-primary)', 'rgba(56, 189, 248, 0.3)'],
64
+ stroke: ['var(--accent-primary)', '#ffffff', 'var(--accent-primary)'],
65
+ transition: { duration: 0.25, delay: 0.92, ease: 'easeOut' },
66
+ },
67
+ };
68
+ export function PathsLogo({ size = 18, containerSize = 32, className = '', title = 'Paths — Visual Memory', }) {
69
+ return (_jsx(motion.div, { className: className, initial: "rest", animate: "rest", whileHover: "hover", variants: containerVariants, title: title, "aria-hidden": "true", style: {
70
+ width: `${containerSize}px`,
71
+ height: `${containerSize}px`,
72
+ minWidth: `${containerSize}px`,
73
+ borderRadius: 'var(--radius-md)',
74
+ backgroundColor: 'var(--accent-subtle)',
75
+ border: '1px solid var(--accent-border)',
76
+ display: 'flex',
77
+ alignItems: 'center',
78
+ justifyContent: 'center',
79
+ color: 'var(--accent-primary)',
80
+ boxShadow: 'var(--shadow-sm)',
81
+ cursor: 'pointer',
82
+ position: 'relative',
83
+ userSelect: 'none',
84
+ transition: 'border-color var(--transition-fast), box-shadow var(--transition-fast)',
85
+ }, children: _jsxs(motion.svg, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", style: { overflow: 'visible' }, children: [_jsx(motion.circle, { cx: "18", cy: "5", r: "3", variants: node1Variants, style: { transformOrigin: '18px 5px' } }), _jsx(motion.line, { x1: "15.41", y1: "6.51", x2: "8.59", y2: "10.49", variants: line1Variants }), _jsx(motion.circle, { cx: "6", cy: "12", r: "3", variants: node2Variants, style: { transformOrigin: '6px 12px' } }), _jsx(motion.line, { x1: "8.59", y1: "13.51", x2: "15.42", y2: "17.49", variants: line2Variants }), _jsx(motion.circle, { cx: "18", cy: "19", r: "3", variants: node3Variants, style: { transformOrigin: '18px 19px' } })] }) }));
86
+ }
87
+ //# sourceMappingURL=PathsLogo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PathsLogo.js","sourceRoot":"","sources":["../../../../../src/gui/renderer/components/layout/PathsLogo.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { KnowledgeCategoryDto, KnowledgeStatusDto } from '../../../shared/ipc-contracts.js';
3
+ export type BadgeVariant = KnowledgeStatusDto | KnowledgeCategoryDto | 'default' | 'neutral' | 'cyan' | 'tool';
4
+ export interface BadgeProps {
5
+ variant?: BadgeVariant;
6
+ label?: string;
7
+ dot?: boolean;
8
+ children?: React.ReactNode;
9
+ }
10
+ export declare function Badge({ variant, label, dot, children, }: BadgeProps): React.JSX.Element;
11
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../../src/gui/renderer/components/shared/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE5F,MAAM,MAAM,YAAY,GACpB,kBAAkB,GAClB,oBAAoB,GACpB,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,KAAK,CAAC,EACpB,OAAmB,EACnB,KAAK,EACL,GAAU,EACV,QAAQ,GACT,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0KhC"}