studiograph 1.3.48-next.25 → 1.3.48-next.250

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 (1088) hide show
  1. package/README.md +27 -17
  2. package/dist/agent/agent-pool.d.ts +120 -4
  3. package/dist/agent/agent-pool.js +358 -18
  4. package/dist/agent/agent-pool.js.map +1 -1
  5. package/dist/agent/context-window.d.ts +113 -0
  6. package/dist/agent/context-window.js +459 -0
  7. package/dist/agent/context-window.js.map +1 -0
  8. package/dist/agent/followups.d.ts +34 -0
  9. package/dist/agent/followups.js +52 -0
  10. package/dist/agent/followups.js.map +1 -0
  11. package/dist/agent/orchestrator.d.ts +109 -5
  12. package/dist/agent/orchestrator.js +614 -69
  13. package/dist/agent/orchestrator.js.map +1 -1
  14. package/dist/agent/prompts/entity-types-section.d.ts +34 -0
  15. package/dist/agent/prompts/entity-types-section.js +76 -0
  16. package/dist/agent/prompts/entity-types-section.js.map +1 -0
  17. package/dist/agent/prompts/system.md +125 -54
  18. package/dist/agent/skill-loader.d.ts +30 -17
  19. package/dist/agent/skill-loader.js +63 -30
  20. package/dist/agent/skill-loader.js.map +1 -1
  21. package/dist/agent/skills/artifact-canvas/skill.md +209 -0
  22. package/dist/agent/skills/create-skill.md +39 -0
  23. package/dist/agent/skills/entity-schema.md +76 -430
  24. package/dist/agent/skills/interview/entity-templates.md +38 -37
  25. package/dist/agent/skills/interview/question-domains.md +54 -49
  26. package/dist/agent/skills/interview/skill.md +80 -27
  27. package/dist/agent/skills/schema-rules.md +28 -28
  28. package/dist/agent/tools/artifact-tools.d.ts +222 -0
  29. package/dist/agent/tools/artifact-tools.js +401 -0
  30. package/dist/agent/tools/artifact-tools.js.map +1 -0
  31. package/dist/agent/tools/capture-tools.d.ts +31 -0
  32. package/dist/agent/tools/capture-tools.js +40 -0
  33. package/dist/agent/tools/capture-tools.js.map +1 -0
  34. package/dist/agent/tools/folder-tools.d.ts +50 -0
  35. package/dist/agent/tools/folder-tools.js +340 -0
  36. package/dist/agent/tools/folder-tools.js.map +1 -0
  37. package/dist/agent/tools/fs-tools.d.ts +6 -5
  38. package/dist/agent/tools/fs-tools.js +5 -5
  39. package/dist/agent/tools/fs-tools.js.map +1 -1
  40. package/dist/agent/tools/graph-tools.d.ts +48 -72
  41. package/dist/agent/tools/graph-tools.js +907 -329
  42. package/dist/agent/tools/graph-tools.js.map +1 -1
  43. package/dist/agent/tools/history-tools.d.ts +95 -0
  44. package/dist/agent/tools/history-tools.js +465 -0
  45. package/dist/agent/tools/history-tools.js.map +1 -0
  46. package/dist/agent/tools/load-skill.d.ts +6 -5
  47. package/dist/agent/tools/load-skill.js +3 -3
  48. package/dist/agent/tools/load-skill.js.map +1 -1
  49. package/dist/agent/tools/ops-tools.d.ts +5 -4
  50. package/dist/agent/tools/ops-tools.js +130 -236
  51. package/dist/agent/tools/ops-tools.js.map +1 -1
  52. package/dist/agent/tools/permission-tools.d.ts +87 -17
  53. package/dist/agent/tools/permission-tools.js +233 -43
  54. package/dist/agent/tools/permission-tools.js.map +1 -1
  55. package/dist/agent/tools/tool-loader.js +5 -4
  56. package/dist/agent/tools/tool-loader.js.map +1 -1
  57. package/dist/agent/tools/web-tools.js +58 -9
  58. package/dist/agent/tools/web-tools.js.map +1 -1
  59. package/dist/cli/commands/about.d.ts +1 -0
  60. package/dist/cli/commands/about.js +55 -3
  61. package/dist/cli/commands/about.js.map +1 -1
  62. package/dist/cli/commands/admin/audit-workspace.d.ts +23 -0
  63. package/dist/cli/commands/admin/audit-workspace.js +133 -0
  64. package/dist/cli/commands/admin/audit-workspace.js.map +1 -0
  65. package/dist/cli/commands/admin/audit.d.ts +21 -0
  66. package/dist/cli/commands/admin/audit.js +174 -0
  67. package/dist/cli/commands/admin/audit.js.map +1 -0
  68. package/dist/cli/commands/admin/backup.d.ts +54 -0
  69. package/dist/cli/commands/admin/backup.js +207 -0
  70. package/dist/cli/commands/admin/backup.js.map +1 -0
  71. package/dist/cli/commands/admin/folder.d.ts +11 -0
  72. package/dist/cli/commands/{collection.js → admin/folder.js} +34 -32
  73. package/dist/cli/commands/admin/folder.js.map +1 -0
  74. package/dist/cli/commands/admin/index.d.ts +16 -0
  75. package/dist/cli/commands/admin/index.js +48 -0
  76. package/dist/cli/commands/admin/index.js.map +1 -0
  77. package/dist/cli/commands/admin/migrate-asset-owners.d.ts +56 -0
  78. package/dist/cli/commands/admin/migrate-asset-owners.js +86 -0
  79. package/dist/cli/commands/admin/migrate-asset-owners.js.map +1 -0
  80. package/dist/cli/commands/admin/migrate-assets.d.ts +62 -0
  81. package/dist/cli/commands/admin/migrate-assets.js +237 -0
  82. package/dist/cli/commands/admin/migrate-assets.js.map +1 -0
  83. package/dist/cli/commands/admin/migrate.d.ts +56 -0
  84. package/dist/cli/commands/admin/migrate.js +263 -0
  85. package/dist/cli/commands/admin/migrate.js.map +1 -0
  86. package/dist/cli/commands/admin/restore.d.ts +24 -0
  87. package/dist/cli/commands/admin/restore.js +228 -0
  88. package/dist/cli/commands/admin/restore.js.map +1 -0
  89. package/dist/cli/commands/admin/secrets.d.ts +23 -0
  90. package/dist/cli/commands/admin/secrets.js +256 -0
  91. package/dist/cli/commands/admin/secrets.js.map +1 -0
  92. package/dist/cli/commands/admin/settings.d.ts +28 -0
  93. package/dist/cli/commands/admin/settings.js +284 -0
  94. package/dist/cli/commands/admin/settings.js.map +1 -0
  95. package/dist/cli/commands/admin/token.d.ts +42 -0
  96. package/dist/cli/commands/admin/token.js +126 -0
  97. package/dist/cli/commands/admin/token.js.map +1 -0
  98. package/dist/cli/commands/admin/transfer-ownership.d.ts +15 -0
  99. package/dist/cli/commands/admin/transfer-ownership.js +106 -0
  100. package/dist/cli/commands/admin/transfer-ownership.js.map +1 -0
  101. package/dist/cli/commands/admin/user.d.ts +11 -0
  102. package/dist/cli/commands/admin/user.js +187 -0
  103. package/dist/cli/commands/admin/user.js.map +1 -0
  104. package/dist/cli/commands/clone.d.ts +23 -3
  105. package/dist/cli/commands/clone.js +140 -36
  106. package/dist/cli/commands/clone.js.map +1 -1
  107. package/dist/cli/commands/config.d.ts +23 -107
  108. package/dist/cli/commands/config.js +52 -260
  109. package/dist/cli/commands/config.js.map +1 -1
  110. package/dist/cli/commands/connector.d.ts +10 -13
  111. package/dist/cli/commands/connector.js +16 -58
  112. package/dist/cli/commands/connector.js.map +1 -1
  113. package/dist/cli/commands/deploy.js +215 -68
  114. package/dist/cli/commands/deploy.js.map +1 -1
  115. package/dist/cli/commands/index.js +7 -4
  116. package/dist/cli/commands/index.js.map +1 -1
  117. package/dist/cli/commands/init.js +10 -30
  118. package/dist/cli/commands/init.js.map +1 -1
  119. package/dist/cli/commands/mcp.js +54 -6
  120. package/dist/cli/commands/mcp.js.map +1 -1
  121. package/dist/cli/commands/r2.d.ts +3 -0
  122. package/dist/cli/commands/r2.js +223 -204
  123. package/dist/cli/commands/r2.js.map +1 -1
  124. package/dist/cli/commands/redeploy.js +65 -12
  125. package/dist/cli/commands/redeploy.js.map +1 -1
  126. package/dist/cli/commands/reset.d.ts +22 -6
  127. package/dist/cli/commands/reset.js +132 -34
  128. package/dist/cli/commands/reset.js.map +1 -1
  129. package/dist/cli/commands/serve.js +242 -26
  130. package/dist/cli/commands/serve.js.map +1 -1
  131. package/dist/cli/commands/sync.d.ts +1 -1
  132. package/dist/cli/commands/sync.js +230 -227
  133. package/dist/cli/commands/sync.js.map +1 -1
  134. package/dist/cli/crypto-bundle.d.ts +39 -0
  135. package/dist/cli/crypto-bundle.js +94 -0
  136. package/dist/cli/crypto-bundle.js.map +1 -0
  137. package/dist/cli/index.js +24 -26
  138. package/dist/cli/index.js.map +1 -1
  139. package/dist/cli/railway-pin.d.ts +68 -0
  140. package/dist/cli/railway-pin.js +96 -0
  141. package/dist/cli/railway-pin.js.map +1 -0
  142. package/dist/cli/railway-provisioning.d.ts +53 -0
  143. package/dist/cli/railway-provisioning.js +85 -0
  144. package/dist/cli/railway-provisioning.js.map +1 -0
  145. package/dist/cli/setup-wizard.d.ts +30 -49
  146. package/dist/cli/setup-wizard.js +39 -40
  147. package/dist/cli/setup-wizard.js.map +1 -1
  148. package/dist/cli/theme.d.ts +1 -1
  149. package/dist/core/accent-palette.d.ts +22 -0
  150. package/dist/core/accent-palette.js +47 -0
  151. package/dist/core/accent-palette.js.map +1 -0
  152. package/dist/core/artifact-asset-resolution.d.ts +90 -0
  153. package/dist/core/artifact-asset-resolution.js +138 -0
  154. package/dist/core/artifact-asset-resolution.js.map +1 -0
  155. package/dist/core/artifact-asset-urls.d.ts +102 -0
  156. package/dist/core/artifact-asset-urls.js +159 -0
  157. package/dist/core/artifact-asset-urls.js.map +1 -0
  158. package/dist/core/artifact-bundle.d.ts +69 -0
  159. package/dist/core/artifact-bundle.js +305 -0
  160. package/dist/core/artifact-bundle.js.map +1 -0
  161. package/dist/core/artifact-escape.d.ts +5 -0
  162. package/dist/core/artifact-escape.js +26 -0
  163. package/dist/core/artifact-escape.js.map +1 -0
  164. package/dist/core/artifact-export.d.ts +83 -0
  165. package/dist/core/artifact-export.js +1567 -0
  166. package/dist/core/artifact-export.js.map +1 -0
  167. package/dist/core/artifact-frame-document.d.ts +100 -0
  168. package/dist/core/artifact-frame-document.js +1328 -0
  169. package/dist/core/artifact-frame-document.js.map +1 -0
  170. package/dist/core/artifact-frame-layout.d.ts +79 -0
  171. package/dist/core/artifact-frame-layout.js +94 -0
  172. package/dist/core/artifact-frame-layout.js.map +1 -0
  173. package/dist/core/artifact-frame-model.d.ts +176 -0
  174. package/dist/core/artifact-frame-model.js +553 -0
  175. package/dist/core/artifact-frame-model.js.map +1 -0
  176. package/dist/core/artifact-frame-selectors.d.ts +42 -0
  177. package/dist/core/artifact-frame-selectors.js +65 -0
  178. package/dist/core/artifact-frame-selectors.js.map +1 -0
  179. package/dist/core/artifact-libraries.d.ts +23 -0
  180. package/dist/core/artifact-libraries.js +229 -0
  181. package/dist/core/artifact-libraries.js.map +1 -0
  182. package/dist/core/artifact-manifest.d.ts +65 -0
  183. package/dist/core/artifact-manifest.js +89 -0
  184. package/dist/core/artifact-manifest.js.map +1 -0
  185. package/dist/core/artifact-patch.d.ts +58 -0
  186. package/dist/core/artifact-patch.js +305 -0
  187. package/dist/core/artifact-patch.js.map +1 -0
  188. package/dist/core/artifact-warnings.d.ts +51 -0
  189. package/dist/core/artifact-warnings.js +165 -0
  190. package/dist/core/artifact-warnings.js.map +1 -0
  191. package/dist/core/breakpoints.d.ts +27 -0
  192. package/dist/core/breakpoints.js +28 -0
  193. package/dist/core/breakpoints.js.map +1 -0
  194. package/dist/core/cell-anchor.d.ts +29 -0
  195. package/dist/core/cell-anchor.js +53 -0
  196. package/dist/core/cell-anchor.js.map +1 -0
  197. package/dist/core/comment-anchor.d.ts +41 -0
  198. package/dist/core/comment-anchor.js +147 -0
  199. package/dist/core/comment-anchor.js.map +1 -0
  200. package/dist/core/commit-messages.d.ts +57 -0
  201. package/dist/core/commit-messages.js +85 -0
  202. package/dist/core/commit-messages.js.map +1 -0
  203. package/dist/core/embeds.d.ts +108 -0
  204. package/dist/core/embeds.js +226 -0
  205. package/dist/core/embeds.js.map +1 -0
  206. package/dist/core/entity-body-templates.d.ts +21 -0
  207. package/dist/core/entity-body-templates.js +67 -0
  208. package/dist/core/entity-body-templates.js.map +1 -0
  209. package/dist/core/entity-types-catalog.d.ts +65 -0
  210. package/dist/core/entity-types-catalog.js +142 -0
  211. package/dist/core/entity-types-catalog.js.map +1 -0
  212. package/dist/core/field-library.d.ts +62 -0
  213. package/dist/core/field-library.js +129 -0
  214. package/dist/core/field-library.js.map +1 -0
  215. package/dist/core/folder-paths.d.ts +41 -0
  216. package/dist/core/folder-paths.js +95 -0
  217. package/dist/core/folder-paths.js.map +1 -0
  218. package/dist/core/folder-sidecar.d.ts +36 -0
  219. package/dist/core/folder-sidecar.js +91 -0
  220. package/dist/core/folder-sidecar.js.map +1 -0
  221. package/dist/core/font-family.d.ts +62 -0
  222. package/dist/core/font-family.js +84 -0
  223. package/dist/core/font-family.js.map +1 -0
  224. package/dist/core/format-registry.d.ts +187 -0
  225. package/dist/core/format-registry.js +411 -0
  226. package/dist/core/format-registry.js.map +1 -0
  227. package/dist/core/graph.d.ts +787 -15
  228. package/dist/core/graph.js +2270 -310
  229. package/dist/core/graph.js.map +1 -1
  230. package/dist/core/history-diff.d.ts +35 -0
  231. package/dist/core/history-diff.js +114 -0
  232. package/dist/core/history-diff.js.map +1 -0
  233. package/dist/core/refs.d.ts +41 -0
  234. package/dist/core/refs.js +80 -0
  235. package/dist/core/refs.js.map +1 -0
  236. package/dist/core/schema-registry.d.ts +66 -0
  237. package/dist/core/schema-registry.js +198 -37
  238. package/dist/core/schema-registry.js.map +1 -1
  239. package/dist/core/schemas/connector.d.ts +67 -0
  240. package/dist/core/schemas/connector.js +100 -0
  241. package/dist/core/schemas/connector.js.map +1 -0
  242. package/dist/core/schemas/workspace.d.ts +122 -0
  243. package/dist/core/schemas/workspace.js +211 -0
  244. package/dist/core/schemas/workspace.js.map +1 -0
  245. package/dist/core/secrets/SecretStore.d.ts +77 -0
  246. package/dist/core/secrets/SecretStore.js +13 -0
  247. package/dist/core/secrets/SecretStore.js.map +1 -0
  248. package/dist/core/secrets/SettingsResolver.d.ts +54 -0
  249. package/dist/core/secrets/SettingsResolver.js +80 -0
  250. package/dist/core/secrets/SettingsResolver.js.map +1 -0
  251. package/dist/core/secrets/SettingsStore.d.ts +30 -0
  252. package/dist/core/secrets/SettingsStore.js +9 -0
  253. package/dist/core/secrets/SettingsStore.js.map +1 -0
  254. package/dist/core/secrets/SqliteEncryptedStore.d.ts +90 -0
  255. package/dist/core/secrets/SqliteEncryptedStore.js +598 -0
  256. package/dist/core/secrets/SqliteEncryptedStore.js.map +1 -0
  257. package/dist/core/secrets/audit.d.ts +36 -0
  258. package/dist/core/secrets/audit.js +60 -0
  259. package/dist/core/secrets/audit.js.map +1 -0
  260. package/dist/core/secrets/auth-db-migration.d.ts +129 -0
  261. package/dist/core/secrets/auth-db-migration.js +653 -0
  262. package/dist/core/secrets/auth-db-migration.js.map +1 -0
  263. package/dist/core/secrets/bundle.d.ts +141 -0
  264. package/dist/core/secrets/bundle.js +435 -0
  265. package/dist/core/secrets/bundle.js.map +1 -0
  266. package/dist/core/secrets/dual-write.d.ts +81 -0
  267. package/dist/core/secrets/dual-write.js +247 -0
  268. package/dist/core/secrets/dual-write.js.map +1 -0
  269. package/dist/core/secrets/encryption.d.ts +44 -0
  270. package/dist/core/secrets/encryption.js +97 -0
  271. package/dist/core/secrets/encryption.js.map +1 -0
  272. package/dist/core/secrets/index.d.ts +49 -0
  273. package/dist/core/secrets/index.js +74 -0
  274. package/dist/core/secrets/index.js.map +1 -0
  275. package/dist/core/secrets/master-key.d.ts +38 -0
  276. package/dist/core/secrets/master-key.js +122 -0
  277. package/dist/core/secrets/master-key.js.map +1 -0
  278. package/dist/core/secrets/probes/anthropic.d.ts +98 -0
  279. package/dist/core/secrets/probes/anthropic.js +300 -0
  280. package/dist/core/secrets/probes/anthropic.js.map +1 -0
  281. package/dist/core/secrets/probes/brave.d.ts +9 -0
  282. package/dist/core/secrets/probes/brave.js +15 -0
  283. package/dist/core/secrets/probes/brave.js.map +1 -0
  284. package/dist/core/secrets/probes/r2.d.ts +15 -0
  285. package/dist/core/secrets/probes/r2.js +14 -0
  286. package/dist/core/secrets/probes/r2.js.map +1 -0
  287. package/dist/core/secrets/probes/tavily.d.ts +18 -0
  288. package/dist/core/secrets/probes/tavily.js +58 -0
  289. package/dist/core/secrets/probes/tavily.js.map +1 -0
  290. package/dist/core/secrets/probes/voyage.d.ts +13 -0
  291. package/dist/core/secrets/probes/voyage.js +52 -0
  292. package/dist/core/secrets/probes/voyage.js.map +1 -0
  293. package/dist/core/secrets/r2-structural-migration.d.ts +39 -0
  294. package/dist/core/secrets/r2-structural-migration.js +109 -0
  295. package/dist/core/secrets/r2-structural-migration.js.map +1 -0
  296. package/dist/core/secrets/read-flip.d.ts +59 -0
  297. package/dist/core/secrets/read-flip.js +87 -0
  298. package/dist/core/secrets/read-flip.js.map +1 -0
  299. package/dist/core/secrets/registry.d.ts +237 -0
  300. package/dist/core/secrets/registry.js +710 -0
  301. package/dist/core/secrets/registry.js.map +1 -0
  302. package/dist/core/seed-folder.d.ts +59 -0
  303. package/dist/core/seed-folder.js +76 -0
  304. package/dist/core/seed-folder.js.map +1 -0
  305. package/dist/core/types.d.ts +88 -483
  306. package/dist/core/types.js +53 -7
  307. package/dist/core/types.js.map +1 -1
  308. package/dist/core/user-config.d.ts +86 -12
  309. package/dist/core/user-config.js +171 -15
  310. package/dist/core/user-config.js.map +1 -1
  311. package/dist/core/validation.d.ts +822 -1373
  312. package/dist/core/validation.js +481 -149
  313. package/dist/core/validation.js.map +1 -1
  314. package/dist/core/view-scope.d.ts +88 -0
  315. package/dist/core/view-scope.js +71 -0
  316. package/dist/core/view-scope.js.map +1 -0
  317. package/dist/core/workspace-manager.d.ts +155 -16
  318. package/dist/core/workspace-manager.js +361 -116
  319. package/dist/core/workspace-manager.js.map +1 -1
  320. package/dist/core/workspace.d.ts +19 -5
  321. package/dist/core/workspace.js +72 -56
  322. package/dist/core/workspace.js.map +1 -1
  323. package/dist/mcp/comment-virtual-entity.d.ts +36 -0
  324. package/dist/mcp/comment-virtual-entity.js +71 -0
  325. package/dist/mcp/comment-virtual-entity.js.map +1 -0
  326. package/dist/mcp/connector-manager.d.ts +72 -2
  327. package/dist/mcp/connector-manager.js +211 -32
  328. package/dist/mcp/connector-manager.js.map +1 -1
  329. package/dist/mcp/oauth-provider.d.ts +0 -5
  330. package/dist/mcp/oauth-provider.js +31 -25
  331. package/dist/mcp/oauth-provider.js.map +1 -1
  332. package/dist/mcp/oauth-registry.d.ts +46 -8
  333. package/dist/mcp/oauth-registry.js +52 -13
  334. package/dist/mcp/oauth-registry.js.map +1 -1
  335. package/dist/mcp/server-discovery.d.ts +73 -0
  336. package/dist/mcp/server-discovery.js +164 -0
  337. package/dist/mcp/server-discovery.js.map +1 -0
  338. package/dist/mcp/server.d.ts +24 -3
  339. package/dist/mcp/server.js +53 -10
  340. package/dist/mcp/server.js.map +1 -1
  341. package/dist/mcp/state-signer.d.ts +62 -0
  342. package/dist/mcp/state-signer.js +205 -0
  343. package/dist/mcp/state-signer.js.map +1 -0
  344. package/dist/mcp/stdio-proxy.d.ts +67 -0
  345. package/dist/mcp/stdio-proxy.js +149 -0
  346. package/dist/mcp/stdio-proxy.js.map +1 -0
  347. package/dist/mcp/tools.d.ts +73 -2
  348. package/dist/mcp/tools.js +2274 -116
  349. package/dist/mcp/tools.js.map +1 -1
  350. package/dist/server/__tests__/helpers/graph-api.d.ts +17 -0
  351. package/dist/server/__tests__/helpers/graph-api.js +17 -0
  352. package/dist/server/__tests__/helpers/graph-api.js.map +1 -0
  353. package/dist/server/__tests__/helpers/multipart.d.ts +9 -0
  354. package/dist/server/__tests__/helpers/multipart.js +14 -0
  355. package/dist/server/__tests__/helpers/multipart.js.map +1 -0
  356. package/dist/server/artifact-asset-mint.d.ts +59 -0
  357. package/dist/server/artifact-asset-mint.js +127 -0
  358. package/dist/server/artifact-asset-mint.js.map +1 -0
  359. package/dist/server/asset-index-queue.d.ts +98 -0
  360. package/dist/server/asset-index-queue.js +193 -0
  361. package/dist/server/asset-index-queue.js.map +1 -0
  362. package/dist/server/body-write-coordinator.d.ts +161 -0
  363. package/dist/server/body-write-coordinator.js +182 -0
  364. package/dist/server/body-write-coordinator.js.map +1 -0
  365. package/dist/server/cloud-billing-flow.d.ts +32 -0
  366. package/dist/server/cloud-billing-flow.js +75 -0
  367. package/dist/server/cloud-billing-flow.js.map +1 -0
  368. package/dist/server/commit-audit.d.ts +26 -0
  369. package/dist/server/commit-audit.js +30 -0
  370. package/dist/server/commit-audit.js.map +1 -0
  371. package/dist/server/index.d.ts +51 -3
  372. package/dist/server/index.js +814 -275
  373. package/dist/server/index.js.map +1 -1
  374. package/dist/server/middleware/sanitize.d.ts +46 -0
  375. package/dist/server/middleware/sanitize.js +195 -0
  376. package/dist/server/middleware/sanitize.js.map +1 -0
  377. package/dist/server/process-guards.d.ts +37 -0
  378. package/dist/server/process-guards.js +44 -0
  379. package/dist/server/process-guards.js.map +1 -0
  380. package/dist/server/routes/ai-usage-api.d.ts +24 -0
  381. package/dist/server/routes/ai-usage-api.js +68 -0
  382. package/dist/server/routes/ai-usage-api.js.map +1 -0
  383. package/dist/server/routes/artifact-export-api.d.ts +11 -0
  384. package/dist/server/routes/artifact-export-api.js +176 -0
  385. package/dist/server/routes/artifact-export-api.js.map +1 -0
  386. package/dist/server/routes/artifact-patch-api.d.ts +19 -0
  387. package/dist/server/routes/artifact-patch-api.js +114 -0
  388. package/dist/server/routes/artifact-patch-api.js.map +1 -0
  389. package/dist/server/routes/artifact-selection-api.d.ts +15 -0
  390. package/dist/server/routes/artifact-selection-api.js +90 -0
  391. package/dist/server/routes/artifact-selection-api.js.map +1 -0
  392. package/dist/server/routes/asset-api.d.ts +88 -2
  393. package/dist/server/routes/asset-api.js +863 -67
  394. package/dist/server/routes/asset-api.js.map +1 -1
  395. package/dist/server/routes/audit-api.d.ts +24 -0
  396. package/dist/server/routes/audit-api.js +113 -0
  397. package/dist/server/routes/audit-api.js.map +1 -0
  398. package/dist/server/routes/auth-api.js +552 -63
  399. package/dist/server/routes/auth-api.js.map +1 -1
  400. package/dist/server/routes/capture-api.d.ts +10 -3
  401. package/dist/server/routes/capture-api.js +236 -25
  402. package/dist/server/routes/capture-api.js.map +1 -1
  403. package/dist/server/routes/chat-sessions-api.d.ts +13 -0
  404. package/dist/server/routes/chat-sessions-api.js +462 -0
  405. package/dist/server/routes/chat-sessions-api.js.map +1 -0
  406. package/dist/server/routes/chat.d.ts +35 -1
  407. package/dist/server/routes/chat.js +893 -58
  408. package/dist/server/routes/chat.js.map +1 -1
  409. package/dist/server/routes/comments-api.d.ts +15 -0
  410. package/dist/server/routes/comments-api.js +444 -0
  411. package/dist/server/routes/comments-api.js.map +1 -0
  412. package/dist/server/routes/config-api.d.ts +3 -2
  413. package/dist/server/routes/config-api.js +183 -57
  414. package/dist/server/routes/config-api.js.map +1 -1
  415. package/dist/server/routes/connectors-api.js +178 -45
  416. package/dist/server/routes/connectors-api.js.map +1 -1
  417. package/dist/server/routes/event-ingest-api.d.ts +15 -0
  418. package/dist/server/routes/{meeting-ingest-api.js → event-ingest-api.js} +35 -20
  419. package/dist/server/routes/event-ingest-api.js.map +1 -0
  420. package/dist/server/routes/field-library-api.d.ts +28 -0
  421. package/dist/server/routes/field-library-api.js +126 -0
  422. package/dist/server/routes/field-library-api.js.map +1 -0
  423. package/dist/server/routes/git-http.d.ts +2 -2
  424. package/dist/server/routes/git-http.js +91 -41
  425. package/dist/server/routes/git-http.js.map +1 -1
  426. package/dist/server/routes/graph-api-access.d.ts +63 -0
  427. package/dist/server/routes/graph-api-access.js +115 -0
  428. package/dist/server/routes/graph-api-access.js.map +1 -0
  429. package/dist/server/routes/graph-api.d.ts +1 -1
  430. package/dist/server/routes/graph-api.js +1456 -410
  431. package/dist/server/routes/graph-api.js.map +1 -1
  432. package/dist/server/routes/health.d.ts +18 -0
  433. package/dist/server/routes/health.js +74 -0
  434. package/dist/server/routes/health.js.map +1 -0
  435. package/dist/server/routes/import-batch.d.ts +24 -0
  436. package/dist/server/routes/import-batch.js +33 -0
  437. package/dist/server/routes/import-batch.js.map +1 -0
  438. package/dist/server/routes/insights-api.d.ts +9 -2
  439. package/dist/server/routes/insights-api.js +376 -61
  440. package/dist/server/routes/insights-api.js.map +1 -1
  441. package/dist/server/routes/mcp.d.ts +8 -3
  442. package/dist/server/routes/mcp.js +24 -8
  443. package/dist/server/routes/mcp.js.map +1 -1
  444. package/dist/server/routes/oauth-api.d.ts +67 -0
  445. package/dist/server/routes/oauth-api.js +421 -0
  446. package/dist/server/routes/oauth-api.js.map +1 -0
  447. package/dist/server/routes/permissions-api.d.ts +8 -2
  448. package/dist/server/routes/permissions-api.js +104 -31
  449. package/dist/server/routes/permissions-api.js.map +1 -1
  450. package/dist/server/routes/r2-api.d.ts +25 -0
  451. package/dist/server/routes/r2-api.js +273 -0
  452. package/dist/server/routes/r2-api.js.map +1 -0
  453. package/dist/server/routes/secrets-api.d.ts +36 -0
  454. package/dist/server/routes/secrets-api.js +305 -0
  455. package/dist/server/routes/secrets-api.js.map +1 -0
  456. package/dist/server/routes/settings-api.d.ts +29 -0
  457. package/dist/server/routes/settings-api.js +177 -0
  458. package/dist/server/routes/settings-api.js.map +1 -0
  459. package/dist/server/routes/share-api.d.ts +34 -0
  460. package/dist/server/routes/share-api.js +260 -0
  461. package/dist/server/routes/share-api.js.map +1 -0
  462. package/dist/server/routes/views-api.d.ts +11 -2
  463. package/dist/server/routes/views-api.js +123 -22
  464. package/dist/server/routes/views-api.js.map +1 -1
  465. package/dist/server/routes/workspace-api.d.ts +2 -1
  466. package/dist/server/routes/workspace-api.js +150 -23
  467. package/dist/server/routes/workspace-api.js.map +1 -1
  468. package/dist/server/routes/ws.d.ts +3 -2
  469. package/dist/server/routes/ws.js +72 -18
  470. package/dist/server/routes/ws.js.map +1 -1
  471. package/dist/server/session-manager.d.ts +48 -5
  472. package/dist/server/session-manager.js +182 -14
  473. package/dist/server/session-manager.js.map +1 -1
  474. package/dist/server/ws-hub.d.ts +135 -54
  475. package/dist/server/ws-hub.js +0 -0
  476. package/dist/server/ws-hub.js.map +1 -1
  477. package/dist/server/yjs-manager.d.ts +278 -7
  478. package/dist/server/yjs-manager.js +830 -38
  479. package/dist/server/yjs-manager.js.map +1 -1
  480. package/dist/server/yjs-persistence.d.ts +165 -0
  481. package/dist/server/yjs-persistence.js +557 -0
  482. package/dist/server/yjs-persistence.js.map +1 -0
  483. package/dist/server/yjs-text-diff.d.ts +32 -0
  484. package/dist/server/yjs-text-diff.js +61 -0
  485. package/dist/server/yjs-text-diff.js.map +1 -0
  486. package/dist/services/access-control.d.ts +121 -0
  487. package/dist/services/access-control.js +194 -0
  488. package/dist/services/access-control.js.map +1 -0
  489. package/dist/services/ai-usage-ledger.d.ts +75 -0
  490. package/dist/services/ai-usage-ledger.js +250 -0
  491. package/dist/services/ai-usage-ledger.js.map +1 -0
  492. package/dist/services/artifact-asset-token.d.ts +69 -0
  493. package/dist/services/artifact-asset-token.js +94 -0
  494. package/dist/services/artifact-asset-token.js.map +1 -0
  495. package/dist/services/artifact-inspect-metadata.d.ts +21 -0
  496. package/dist/services/artifact-inspect-metadata.js +66 -0
  497. package/dist/services/artifact-inspect-metadata.js.map +1 -0
  498. package/dist/services/artifact-library-sources.d.ts +7 -0
  499. package/dist/services/artifact-library-sources.js +52 -0
  500. package/dist/services/artifact-library-sources.js.map +1 -0
  501. package/dist/services/artifact-patch-runner.d.ts +52 -0
  502. package/dist/services/artifact-patch-runner.js +74 -0
  503. package/dist/services/artifact-patch-runner.js.map +1 -0
  504. package/dist/services/artifact-render-export.d.ts +188 -0
  505. package/dist/services/artifact-render-export.js +794 -0
  506. package/dist/services/artifact-render-export.js.map +1 -0
  507. package/dist/services/artifact-selection-store.d.ts +68 -0
  508. package/dist/services/artifact-selection-store.js +90 -0
  509. package/dist/services/artifact-selection-store.js.map +1 -0
  510. package/dist/services/artifact-store.d.ts +118 -0
  511. package/dist/services/artifact-store.js +234 -0
  512. package/dist/services/artifact-store.js.map +1 -0
  513. package/dist/services/asset-caption-service.d.ts +103 -0
  514. package/dist/services/asset-caption-service.js +200 -0
  515. package/dist/services/asset-caption-service.js.map +1 -0
  516. package/dist/services/asset-delete-authz.d.ts +32 -0
  517. package/dist/services/asset-delete-authz.js +62 -0
  518. package/dist/services/asset-delete-authz.js.map +1 -0
  519. package/dist/services/asset-delete-impact.d.ts +63 -0
  520. package/dist/services/asset-delete-impact.js +96 -0
  521. package/dist/services/asset-delete-impact.js.map +1 -0
  522. package/dist/services/asset-finalize-service.d.ts +58 -0
  523. package/dist/services/asset-finalize-service.js +216 -0
  524. package/dist/services/asset-finalize-service.js.map +1 -0
  525. package/dist/services/asset-import-service.d.ts +116 -0
  526. package/dist/services/asset-import-service.js +436 -0
  527. package/dist/services/asset-import-service.js.map +1 -0
  528. package/dist/services/asset-index-sweep.d.ts +95 -0
  529. package/dist/services/asset-index-sweep.js +271 -0
  530. package/dist/services/asset-index-sweep.js.map +1 -0
  531. package/dist/services/asset-lifecycle-check.d.ts +22 -0
  532. package/dist/services/asset-lifecycle-check.js +80 -0
  533. package/dist/services/asset-lifecycle-check.js.map +1 -0
  534. package/dist/services/asset-listing.d.ts +63 -0
  535. package/dist/services/asset-listing.js +124 -0
  536. package/dist/services/asset-listing.js.map +1 -0
  537. package/dist/services/asset-move-impact.d.ts +49 -0
  538. package/dist/services/asset-move-impact.js +62 -0
  539. package/dist/services/asset-move-impact.js.map +1 -0
  540. package/dist/services/asset-presign-service.d.ts +62 -0
  541. package/dist/services/asset-presign-service.js +126 -0
  542. package/dist/services/asset-presign-service.js.map +1 -0
  543. package/dist/services/asset-reference-index.d.ts +39 -0
  544. package/dist/services/asset-reference-index.js +33 -0
  545. package/dist/services/asset-reference-index.js.map +1 -0
  546. package/dist/services/asset-reference-scan.d.ts +57 -0
  547. package/dist/services/asset-reference-scan.js +150 -0
  548. package/dist/services/asset-reference-scan.js.map +1 -0
  549. package/dist/services/asset-sidecar-service.d.ts +28 -0
  550. package/dist/services/asset-sidecar-service.js +79 -0
  551. package/dist/services/asset-sidecar-service.js.map +1 -0
  552. package/dist/services/asset-upload-errors.d.ts +41 -0
  553. package/dist/services/asset-upload-errors.js +45 -0
  554. package/dist/services/asset-upload-errors.js.map +1 -0
  555. package/dist/services/asset-upload-service.d.ts +56 -0
  556. package/dist/services/asset-upload-service.js +200 -0
  557. package/dist/services/asset-upload-service.js.map +1 -0
  558. package/dist/services/asset-upload-token.d.ts +58 -0
  559. package/dist/services/asset-upload-token.js +75 -0
  560. package/dist/services/asset-upload-token.js.map +1 -0
  561. package/dist/services/assets/asset-index-service.d.ts +158 -0
  562. package/dist/services/assets/asset-index-service.js +293 -0
  563. package/dist/services/assets/asset-index-service.js.map +1 -0
  564. package/dist/services/assets/base.d.ts +135 -4
  565. package/dist/services/assets/base.js +148 -3
  566. package/dist/services/assets/base.js.map +1 -1
  567. package/dist/services/assets/index.d.ts +96 -1
  568. package/dist/services/assets/index.js +209 -0
  569. package/dist/services/assets/index.js.map +1 -1
  570. package/dist/services/assets/local.d.ts +16 -1
  571. package/dist/services/assets/local.js +112 -3
  572. package/dist/services/assets/local.js.map +1 -1
  573. package/dist/services/assets/r2-sync.d.ts +88 -0
  574. package/dist/services/assets/r2-sync.js +412 -0
  575. package/dist/services/assets/r2-sync.js.map +1 -0
  576. package/dist/services/assets/r2.d.ts +87 -1
  577. package/dist/services/assets/r2.js +205 -3
  578. package/dist/services/assets/r2.js.map +1 -1
  579. package/dist/services/auth-service.d.ts +311 -56
  580. package/dist/services/auth-service.js +1061 -260
  581. package/dist/services/auth-service.js.map +1 -1
  582. package/dist/services/chat-session-service.d.ts +189 -0
  583. package/dist/services/chat-session-service.js +544 -0
  584. package/dist/services/chat-session-service.js.map +1 -0
  585. package/dist/services/cloud-inference-billing.d.ts +64 -0
  586. package/dist/services/cloud-inference-billing.js +321 -0
  587. package/dist/services/cloud-inference-billing.js.map +1 -0
  588. package/dist/services/comment-service.d.ts +97 -0
  589. package/dist/services/comment-service.js +341 -0
  590. package/dist/services/comment-service.js.map +1 -0
  591. package/dist/services/comment-virtual-entity.d.ts +36 -0
  592. package/dist/services/comment-virtual-entity.js +71 -0
  593. package/dist/services/comment-virtual-entity.js.map +1 -0
  594. package/dist/services/convert-service.d.ts +64 -0
  595. package/dist/services/convert-service.js +68 -0
  596. package/dist/services/convert-service.js.map +1 -0
  597. package/dist/services/csv-service.d.ts +22 -17
  598. package/dist/services/csv-service.js +55 -92
  599. package/dist/services/csv-service.js.map +1 -1
  600. package/dist/services/entity-mutations.d.ts +313 -0
  601. package/dist/services/entity-mutations.js +523 -0
  602. package/dist/services/entity-mutations.js.map +1 -0
  603. package/dist/services/{meeting-processor.d.ts → event-processor.d.ts} +15 -8
  604. package/dist/services/{meeting-processor.js → event-processor.js} +135 -66
  605. package/dist/services/event-processor.js.map +1 -0
  606. package/dist/services/extract/docx.d.ts +1 -0
  607. package/dist/services/extract/docx.js +233 -0
  608. package/dist/services/extract/docx.js.map +1 -0
  609. package/dist/services/extract/index.d.ts +9 -0
  610. package/dist/services/extract/index.js +10 -0
  611. package/dist/services/extract/index.js.map +1 -0
  612. package/dist/services/extract/pdf.d.ts +13 -0
  613. package/dist/services/extract/pdf.js +69 -0
  614. package/dist/services/extract/pdf.js.map +1 -0
  615. package/dist/services/folder-creation.d.ts +33 -0
  616. package/dist/services/folder-creation.js +103 -0
  617. package/dist/services/folder-creation.js.map +1 -0
  618. package/dist/services/fonts/font-metadata.d.ts +42 -0
  619. package/dist/services/fonts/font-metadata.js +126 -0
  620. package/dist/services/fonts/font-metadata.js.map +1 -0
  621. package/dist/services/fonts/font-skill-service.d.ts +66 -0
  622. package/dist/services/fonts/font-skill-service.js +137 -0
  623. package/dist/services/fonts/font-skill-service.js.map +1 -0
  624. package/dist/services/git.d.ts +58 -0
  625. package/dist/services/git.js +194 -55
  626. package/dist/services/git.js.map +1 -1
  627. package/dist/services/graph-maintenance.js +4 -4
  628. package/dist/services/graph-maintenance.js.map +1 -1
  629. package/dist/services/import-service.d.ts +51 -2
  630. package/dist/services/import-service.js +254 -107
  631. package/dist/services/import-service.js.map +1 -1
  632. package/dist/services/lint-service.js +10 -17
  633. package/dist/services/lint-service.js.map +1 -1
  634. package/dist/services/markdown.d.ts +12 -1
  635. package/dist/services/markdown.js +77 -9
  636. package/dist/services/markdown.js.map +1 -1
  637. package/dist/services/mention-detector.d.ts +23 -0
  638. package/dist/services/mention-detector.js +47 -0
  639. package/dist/services/mention-detector.js.map +1 -0
  640. package/dist/services/model-capabilities.d.ts +41 -0
  641. package/dist/services/model-capabilities.js +107 -0
  642. package/dist/services/model-capabilities.js.map +1 -0
  643. package/dist/services/notification-broadcast.d.ts +32 -0
  644. package/dist/services/notification-broadcast.js +38 -0
  645. package/dist/services/notification-broadcast.js.map +1 -0
  646. package/dist/services/notification-service.d.ts +41 -0
  647. package/dist/services/notification-service.js +100 -0
  648. package/dist/services/notification-service.js.map +1 -0
  649. package/dist/services/oauth-server-store.d.ts +147 -0
  650. package/dist/services/oauth-server-store.js +319 -0
  651. package/dist/services/oauth-server-store.js.map +1 -0
  652. package/dist/services/orphan-service.js +2 -2
  653. package/dist/services/orphan-service.js.map +1 -1
  654. package/dist/services/personal-folder.d.ts +49 -0
  655. package/dist/services/personal-folder.js +122 -0
  656. package/dist/services/personal-folder.js.map +1 -0
  657. package/dist/services/playwright-bootstrap.d.ts +64 -0
  658. package/dist/services/playwright-bootstrap.js +199 -0
  659. package/dist/services/playwright-bootstrap.js.map +1 -0
  660. package/dist/services/scratch-asset-promote.d.ts +57 -0
  661. package/dist/services/scratch-asset-promote.js +95 -0
  662. package/dist/services/scratch-asset-promote.js.map +1 -0
  663. package/dist/services/scratch-attachment-service.d.ts +201 -0
  664. package/dist/services/scratch-attachment-service.js +354 -0
  665. package/dist/services/scratch-attachment-service.js.map +1 -0
  666. package/dist/services/share-link-service.d.ts +57 -0
  667. package/dist/services/share-link-service.js +142 -0
  668. package/dist/services/share-link-service.js.map +1 -0
  669. package/dist/services/user-person-bridge.d.ts +136 -0
  670. package/dist/services/user-person-bridge.js +341 -0
  671. package/dist/services/user-person-bridge.js.map +1 -0
  672. package/dist/services/utility-model-resolver.d.ts +37 -0
  673. package/dist/services/utility-model-resolver.js +67 -0
  674. package/dist/services/utility-model-resolver.js.map +1 -0
  675. package/dist/services/vector-service.d.ts +282 -5
  676. package/dist/services/vector-service.js +587 -32
  677. package/dist/services/vector-service.js.map +1 -1
  678. package/dist/services/workspace-access.d.ts +115 -0
  679. package/dist/services/workspace-access.js +154 -0
  680. package/dist/services/workspace-access.js.map +1 -0
  681. package/dist/services/workspace-assets-folder.d.ts +46 -0
  682. package/dist/services/workspace-assets-folder.js +75 -0
  683. package/dist/services/workspace-assets-folder.js.map +1 -0
  684. package/dist/utils/git.d.ts +17 -2
  685. package/dist/utils/git.js +23 -7
  686. package/dist/utils/git.js.map +1 -1
  687. package/dist/utils/log.d.ts +42 -0
  688. package/dist/utils/log.js +137 -0
  689. package/dist/utils/log.js.map +1 -0
  690. package/dist/utils/preflight.js +2 -2
  691. package/dist/utils/preflight.js.map +1 -1
  692. package/dist/utils/version-checker.d.ts +12 -19
  693. package/dist/utils/version-checker.js +14 -104
  694. package/dist/utils/version-checker.js.map +1 -1
  695. package/dist/web/_app/immutable/assets/0.CVPg3_uL.css +2 -0
  696. package/dist/web/_app/immutable/assets/12.DlIf1mKh.css +1 -0
  697. package/dist/web/_app/immutable/assets/13.WUaKJbVc.css +1 -0
  698. package/dist/web/_app/immutable/assets/15.CItnu3nw.css +1 -0
  699. package/dist/web/_app/immutable/assets/16.C3czeWWx.css +1 -0
  700. package/dist/web/_app/immutable/assets/17.CHiwoAMO.css +1 -0
  701. package/dist/web/_app/immutable/assets/18.fUGuXQ0K.css +1 -0
  702. package/dist/web/_app/immutable/assets/19.DcuK5ZVm.css +1 -0
  703. package/dist/web/_app/immutable/assets/2.bJqlVFXX.css +1 -0
  704. package/dist/web/_app/immutable/assets/3.DDfEAhbB.css +1 -0
  705. package/dist/web/_app/immutable/assets/4.Dtodt1Fe.css +1 -0
  706. package/dist/web/_app/immutable/assets/6.JPVpkzLZ.css +1 -0
  707. package/dist/web/_app/immutable/assets/AssetLibraryPicker.BWH260L8.css +1 -0
  708. package/dist/web/_app/immutable/assets/BulkActionsBar.CXSM7tO7.css +1 -0
  709. package/dist/web/_app/immutable/assets/CalendarView.DTqmFVwU.css +1 -0
  710. package/dist/web/_app/immutable/assets/CodeMirrorEditor.D6hf2pNJ.css +1 -0
  711. package/dist/web/_app/immutable/assets/CopyField.DVGZtw4U.css +1 -0
  712. package/dist/web/_app/immutable/assets/FileRowList.BdRFHJDt.css +1 -0
  713. package/dist/web/_app/immutable/assets/FolderMembersPanel.BvV1lBCg.css +1 -0
  714. package/dist/web/_app/immutable/assets/FolderMutationDialogs.De2NQ55E.css +1 -0
  715. package/dist/web/_app/immutable/assets/FolderPicker.Cq1tMnu_.css +1 -0
  716. package/dist/web/_app/immutable/assets/FolderTreeField.DTSzn15s.css +1 -0
  717. package/dist/web/_app/immutable/assets/FrameCanvas.COqDmfdC.css +1 -0
  718. package/dist/web/_app/immutable/assets/GalleryView.ClvEQ1B2.css +1 -0
  719. package/dist/web/_app/immutable/assets/GraphView.BJtGL9py.css +1 -0
  720. package/dist/web/_app/immutable/assets/GridCell.czY6eDb_.css +1 -0
  721. package/dist/web/_app/immutable/assets/KanbanView._hefubUN.css +1 -0
  722. package/dist/web/_app/immutable/assets/Link.vV0ne105.css +1 -0
  723. package/dist/web/_app/immutable/assets/Markdown.CSYKSAm0.css +1 -0
  724. package/dist/web/_app/immutable/assets/Rail.CInvmDxG.css +1 -0
  725. package/dist/web/_app/immutable/assets/RepoCheckList.BLeJ79Eg.css +1 -0
  726. package/dist/web/_app/immutable/assets/SaveViewDialog.Bb9E81xd.css +1 -0
  727. package/dist/web/_app/immutable/assets/SearchInput.DTB6W35f.css +1 -0
  728. package/dist/web/_app/immutable/assets/SettingsDialog.CHzfQoo_.css +1 -0
  729. package/dist/web/_app/immutable/assets/Spinner.UBfl0pab.css +1 -0
  730. package/dist/web/_app/immutable/assets/StopFilledAlt.CjuwgVxu.css +1 -0
  731. package/dist/web/_app/immutable/assets/TimelineView.iO7gnu7R.css +1 -0
  732. package/dist/web/_app/immutable/assets/Version.BQq1Fihu.css +1 -0
  733. package/dist/web/_app/immutable/assets/ViewBanner.DWswnFdi.css +1 -0
  734. package/dist/web/_app/immutable/assets/WorkspaceView.DXGgNF98.css +1 -0
  735. package/dist/web/_app/immutable/assets/button.C4eMG-uT.css +1 -0
  736. package/dist/web/_app/immutable/assets/checkbox.CAcHq8G6.css +1 -0
  737. package/dist/web/_app/immutable/assets/dist.DDCWxn3B.css +1 -0
  738. package/dist/web/_app/immutable/assets/download-with-progress.BZlFTn09.css +1 -0
  739. package/dist/web/_app/immutable/assets/filters.RgfXKVpA.css +1 -0
  740. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff +0 -0
  741. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2 +0 -0
  742. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff +0 -0
  743. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2 +0 -0
  744. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2 +0 -0
  745. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff +0 -0
  746. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2 +0 -0
  747. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff +0 -0
  748. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.BNK2_mGO.woff2 +0 -0
  749. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.DpEwFAQM.woff +0 -0
  750. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2 +0 -0
  751. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff +0 -0
  752. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff +0 -0
  753. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2 +0 -0
  754. package/dist/web/_app/immutable/assets/list-columns.BgnafZ4K.css +1 -0
  755. package/dist/web/_app/immutable/chunks/-MYqXlc3.js +185 -0
  756. package/dist/web/_app/immutable/chunks/1_BWKAKA2.js +23 -0
  757. package/dist/web/_app/immutable/chunks/4Ym-IrT1.js +1 -0
  758. package/dist/web/_app/immutable/chunks/4jbu5OMT2.js +1 -0
  759. package/dist/web/_app/immutable/chunks/6guf_P8c.js +1 -0
  760. package/dist/web/_app/immutable/chunks/B2cjR0rG.js +83 -0
  761. package/dist/web/_app/immutable/chunks/B6Lt-qaJ.js +1 -0
  762. package/dist/web/_app/immutable/chunks/B9AmbpA-.js +5 -0
  763. package/dist/web/_app/immutable/chunks/B9KfEsQw2.js +1 -0
  764. package/dist/web/_app/immutable/chunks/B9kvYQoD.js +1 -0
  765. package/dist/web/_app/immutable/chunks/BANmhvyz.js +1 -0
  766. package/dist/web/_app/immutable/chunks/BEyPhM3C.js +1 -0
  767. package/dist/web/_app/immutable/chunks/BIUOid2V.js +1 -0
  768. package/dist/web/_app/immutable/chunks/BI_fdHCv2.js +1 -0
  769. package/dist/web/_app/immutable/chunks/BKbqlWGX.js +1 -0
  770. package/dist/web/_app/immutable/chunks/BNEszXec.js +2 -0
  771. package/dist/web/_app/immutable/chunks/BNX0Lt9b.js +1 -0
  772. package/dist/web/_app/immutable/chunks/BO6-nRV9.js +1 -0
  773. package/dist/web/_app/immutable/chunks/BP5j00sV.js +1 -0
  774. package/dist/web/_app/immutable/chunks/BPILs-6H.js +1 -0
  775. package/dist/web/_app/immutable/chunks/BPRQzMGs.js +1 -0
  776. package/dist/web/_app/immutable/chunks/BQE7bWgF.js +1 -0
  777. package/dist/web/_app/immutable/chunks/BSYEhGG22.js +1 -0
  778. package/dist/web/_app/immutable/chunks/BT8BN-1W2.js +872 -0
  779. package/dist/web/_app/immutable/chunks/BV1xqYvc.js +1 -0
  780. package/dist/web/_app/immutable/chunks/BZDKT2Qw2.js +2 -0
  781. package/dist/web/_app/immutable/chunks/BZUZdQOd.js +1 -0
  782. package/dist/web/_app/immutable/chunks/B_y9A6Kg.js +4 -0
  783. package/dist/web/_app/immutable/chunks/BbAxzPKc.js +1 -0
  784. package/dist/web/_app/immutable/chunks/BdR7t2GN.js +3 -0
  785. package/dist/web/_app/immutable/chunks/BkBgBapq2.js +1 -0
  786. package/dist/web/_app/immutable/chunks/Bloejp6i.js +1 -0
  787. package/dist/web/_app/immutable/chunks/Bn6eqAHn.js +3 -0
  788. package/dist/web/_app/immutable/chunks/BnYohOts2.js +1 -0
  789. package/dist/web/_app/immutable/chunks/BtDSRU36.js +1 -0
  790. package/dist/web/_app/immutable/chunks/Bvr6nSm92.js +1 -0
  791. package/dist/web/_app/immutable/chunks/BvyVm7-j.js +184 -0
  792. package/dist/web/_app/immutable/chunks/Bx6T8G5n2.js +1 -0
  793. package/dist/web/_app/immutable/chunks/BxRqQ_Zb2.js +1 -0
  794. package/dist/web/_app/immutable/chunks/BxeOdaUQ.js +1 -0
  795. package/dist/web/_app/immutable/chunks/Byp5DtD7.js +1 -0
  796. package/dist/web/_app/immutable/chunks/C-hlaQ2N.js +1 -0
  797. package/dist/web/_app/immutable/chunks/C1B4xDs0.js +1 -0
  798. package/dist/web/_app/immutable/chunks/C2yz630b.js +2 -0
  799. package/dist/web/_app/immutable/chunks/C3-t_x4B.js +1 -0
  800. package/dist/web/_app/immutable/chunks/C6d9nn3k.js +1 -0
  801. package/dist/web/_app/immutable/chunks/C8ZiSqQm.js +1 -0
  802. package/dist/web/_app/immutable/chunks/CB-t1Bv-.js +1 -0
  803. package/dist/web/_app/immutable/chunks/CKGHeJzq.js +1 -0
  804. package/dist/web/_app/immutable/chunks/CKW_wxPD.js +1 -0
  805. package/dist/web/_app/immutable/chunks/CL_APTyv.js +1 -0
  806. package/dist/web/_app/immutable/chunks/CM400nLL.js +7 -0
  807. package/dist/web/_app/immutable/chunks/COBzI3LM2.js +1 -0
  808. package/dist/web/_app/immutable/chunks/CQcShzPL.js +2 -0
  809. package/dist/web/_app/immutable/chunks/CUIM280T.js +1 -0
  810. package/dist/web/_app/immutable/chunks/CUjNIYMH.js +2 -0
  811. package/dist/web/_app/immutable/chunks/CW5OSMDD2.js +58 -0
  812. package/dist/web/_app/immutable/chunks/CWIHttTH.js +1 -0
  813. package/dist/web/_app/immutable/chunks/CXPMb3zd.js +1 -0
  814. package/dist/web/_app/immutable/chunks/CX_WuP2f.js +1 -0
  815. package/dist/web/_app/immutable/chunks/CZzs79_y.js +2 -0
  816. package/dist/web/_app/immutable/chunks/C_dhm4TS2.js +1 -0
  817. package/dist/web/_app/immutable/chunks/CaimSvvF.js +5 -0
  818. package/dist/web/_app/immutable/chunks/CasrNmto.js +1 -0
  819. package/dist/web/_app/immutable/chunks/CcWaWbrI2.js +1 -0
  820. package/dist/web/_app/immutable/chunks/Cdm5V0Nn2.js +1 -0
  821. package/dist/web/_app/immutable/chunks/Ce8vRHfa.js +2 -0
  822. package/dist/web/_app/immutable/chunks/CgCz4Fj6.js +1 -0
  823. package/dist/web/_app/immutable/chunks/CgyQew7_.js +1 -0
  824. package/dist/web/_app/immutable/chunks/ChUOO1A-.js +2 -0
  825. package/dist/web/_app/immutable/chunks/ChiVjlx_.js +1 -0
  826. package/dist/web/_app/immutable/chunks/CjhSh1M22.js +2 -0
  827. package/dist/web/_app/immutable/chunks/Cm_yhEon2.js +1 -0
  828. package/dist/web/_app/immutable/chunks/CqyFdLMa.js +1 -0
  829. package/dist/web/_app/immutable/chunks/CsIWxmio2.js +22 -0
  830. package/dist/web/_app/immutable/chunks/CymPKSqM2.js +1 -0
  831. package/dist/web/_app/immutable/chunks/CzQYvhA_2.js +1 -0
  832. package/dist/web/_app/immutable/chunks/D4MiGmht2.js +1 -0
  833. package/dist/web/_app/immutable/chunks/D6toh9Mr.js +1 -0
  834. package/dist/web/_app/immutable/chunks/D9AZ9p5Q.js +3 -0
  835. package/dist/web/_app/immutable/chunks/DAsarOLg2.js +1 -0
  836. package/dist/web/_app/immutable/chunks/DBGaXAP8.js +1 -0
  837. package/dist/web/_app/immutable/chunks/DCShre1L.js +2 -0
  838. package/dist/web/_app/immutable/chunks/DCgKWtld.js +1 -0
  839. package/dist/web/_app/immutable/chunks/DEc1e7ve.js +1 -0
  840. package/dist/web/_app/immutable/chunks/DIsSxB_C.js +1 -0
  841. package/dist/web/_app/immutable/chunks/DJTvBXur.js +2 -0
  842. package/dist/web/_app/immutable/chunks/DM4Xqmm8.js +1 -0
  843. package/dist/web/_app/immutable/chunks/DO_V9Cgc.js +1 -0
  844. package/dist/web/_app/immutable/chunks/DPI7dnke.js +2692 -0
  845. package/dist/web/_app/immutable/chunks/DQMWa2t7.js +1 -0
  846. package/dist/web/_app/immutable/chunks/DUk61u1R.js +2 -0
  847. package/dist/web/_app/immutable/chunks/DWk-XWWg.js +1 -0
  848. package/dist/web/_app/immutable/chunks/DZ2Zr5zb.js +1 -0
  849. package/dist/web/_app/immutable/chunks/Dav8Lgyy2.js +5 -0
  850. package/dist/web/_app/immutable/chunks/Dd8APdVc.js +1 -0
  851. package/dist/web/_app/immutable/chunks/Ddgu2Sjp.js +1 -0
  852. package/dist/web/_app/immutable/chunks/DfUXQOZ92.js +1 -0
  853. package/dist/web/_app/immutable/chunks/DgP0Pxes.js +224 -0
  854. package/dist/web/_app/immutable/chunks/Dhmw5GUH.js +1 -0
  855. package/dist/web/_app/immutable/chunks/DiIKceTU.js +12 -0
  856. package/dist/web/_app/immutable/chunks/DiMsLIh3.js +1 -0
  857. package/dist/web/_app/immutable/chunks/DiiXREv7.js +1 -0
  858. package/dist/web/_app/immutable/chunks/Dj6KJps02.js +1 -0
  859. package/dist/web/_app/immutable/chunks/Dl0bYyV_.js +1 -0
  860. package/dist/web/_app/immutable/chunks/DmFu8RFr2.js +1 -0
  861. package/dist/web/_app/immutable/chunks/DqKYbIld2.js +1 -0
  862. package/dist/web/_app/immutable/chunks/Dt-WYwHk.js +2 -0
  863. package/dist/web/_app/immutable/chunks/DtYwoYIX2.js +1 -0
  864. package/dist/web/_app/immutable/chunks/Dtr3idQw.js +6 -0
  865. package/dist/web/_app/immutable/chunks/DvRHGeuF.js +1 -0
  866. package/dist/web/_app/immutable/chunks/Dvj33Rn2.js +1 -0
  867. package/dist/web/_app/immutable/chunks/Dx6dXuTV.js +5 -0
  868. package/dist/web/_app/immutable/chunks/Dyzfk5oT.js +1 -0
  869. package/dist/web/_app/immutable/chunks/F92HmKX8.js +1 -0
  870. package/dist/web/_app/immutable/chunks/FISIvbqq.js +3 -0
  871. package/dist/web/_app/immutable/chunks/HvTboCnW2.js +1 -0
  872. package/dist/web/_app/immutable/chunks/IMJutqSu2.js +1 -0
  873. package/dist/web/_app/immutable/chunks/MAYbL-xn2.js +6 -0
  874. package/dist/web/_app/immutable/chunks/MtN4vJa02.js +1 -0
  875. package/dist/web/_app/immutable/chunks/Oglnp7sm2.js +14 -0
  876. package/dist/web/_app/immutable/chunks/RA-JwTzo.js +1 -0
  877. package/dist/web/_app/immutable/chunks/W6_f96VJ2.js +1 -0
  878. package/dist/web/_app/immutable/chunks/X5h1w82m2.js +2 -0
  879. package/dist/web/_app/immutable/chunks/_8YSnhVu.js +1 -0
  880. package/dist/web/_app/immutable/chunks/_cmLV1gB.js +1 -0
  881. package/dist/web/_app/immutable/chunks/bQ1Bm48Z.js +1 -0
  882. package/dist/web/_app/immutable/chunks/cqbnG02C.js +1 -0
  883. package/dist/web/_app/immutable/chunks/dGKPX3RU2.js +2 -0
  884. package/dist/web/_app/immutable/chunks/eXBVhTbU.js +1 -0
  885. package/dist/web/_app/immutable/chunks/foKFmdvz2.js +1 -0
  886. package/dist/web/_app/immutable/chunks/j_uHTBnD.js +1 -0
  887. package/dist/web/_app/immutable/chunks/k1yg7tS8.js +1 -0
  888. package/dist/web/_app/immutable/chunks/kNaey6uv.js +1 -0
  889. package/dist/web/_app/immutable/chunks/nqo2e2Yv.js +1 -0
  890. package/dist/web/_app/immutable/chunks/qevfNcid.js +1 -0
  891. package/dist/web/_app/immutable/chunks/rjjyuGhb.js +1 -0
  892. package/dist/web/_app/immutable/chunks/sLoVZrPn.js +1 -0
  893. package/dist/web/_app/immutable/chunks/sYcjEZLR2.js +2 -0
  894. package/dist/web/_app/immutable/chunks/u0rry8Ml.js +1 -0
  895. package/dist/web/_app/immutable/chunks/xihTtKlq.js +1 -0
  896. package/dist/web/_app/immutable/entry/app.AeQxvulc.js +2 -0
  897. package/dist/web/_app/immutable/entry/start.HHmedtKh.js +1 -0
  898. package/dist/web/_app/immutable/nodes/0.Bbluex2y.js +2 -0
  899. package/dist/web/_app/immutable/nodes/1.garkZqAu.js +1 -0
  900. package/dist/web/_app/immutable/nodes/10.Bu9CiaSY.js +1 -0
  901. package/dist/web/_app/immutable/nodes/11.CMk3_qIV.js +1 -0
  902. package/dist/web/_app/immutable/nodes/12.Ds1xLh2G.js +1 -0
  903. package/dist/web/_app/immutable/nodes/13.ErX2sZgX.js +1 -0
  904. package/dist/web/_app/immutable/nodes/14.DJwakC0o.js +1 -0
  905. package/dist/web/_app/immutable/nodes/15.Aip47inT.js +1 -0
  906. package/dist/web/_app/immutable/nodes/16.DQLJ_y8w.js +1 -0
  907. package/dist/web/_app/immutable/nodes/17.BWFc8AfZ.js +1 -0
  908. package/dist/web/_app/immutable/nodes/18.T8Yiusf1.js +1 -0
  909. package/dist/web/_app/immutable/nodes/19.Dk04QMKe.js +77 -0
  910. package/dist/web/_app/immutable/nodes/2.DRHd-fZ7.js +125 -0
  911. package/dist/web/_app/immutable/nodes/3.DzO64m2F.js +6 -0
  912. package/dist/web/_app/immutable/nodes/4.D9EY62BC.js +16 -0
  913. package/dist/web/_app/immutable/nodes/5.DG5wUuZ8.js +1 -0
  914. package/dist/web/_app/immutable/nodes/6.By5b_fTG.js +6 -0
  915. package/dist/web/_app/immutable/nodes/7.DWlD_QUQ.js +1 -0
  916. package/dist/web/_app/immutable/nodes/8.CTY5I2ac.js +1 -0
  917. package/dist/web/_app/immutable/nodes/9.BFlQsdLL.js +1 -0
  918. package/dist/web/_app/version.json +1 -1
  919. package/dist/web/favicon-16.png +0 -0
  920. package/dist/web/favicon-180.png +0 -0
  921. package/dist/web/favicon-32.png +0 -0
  922. package/dist/web/favicon-48.png +0 -0
  923. package/dist/web/favicon-512.png +0 -0
  924. package/dist/web/favicon.ico +0 -0
  925. package/dist/web/favicon.svg +8 -0
  926. package/dist/web/index.html +59 -21
  927. package/dist/web/studiograph-logomark.svg +29 -0
  928. package/package.json +39 -15
  929. package/dist/agent/skills/enrich-entities.md +0 -136
  930. package/dist/agent/skills/sync-configuration.md +0 -119
  931. package/dist/agent/skills/sync-setup.md +0 -82
  932. package/dist/agent/tools/message-tools.d.ts +0 -42
  933. package/dist/agent/tools/message-tools.js +0 -110
  934. package/dist/agent/tools/message-tools.js.map +0 -1
  935. package/dist/cli/commands/app.d.ts +0 -7
  936. package/dist/cli/commands/app.js +0 -268
  937. package/dist/cli/commands/app.js.map +0 -1
  938. package/dist/cli/commands/clear.d.ts +0 -5
  939. package/dist/cli/commands/clear.js +0 -36
  940. package/dist/cli/commands/clear.js.map +0 -1
  941. package/dist/cli/commands/collection.d.ts +0 -10
  942. package/dist/cli/commands/collection.js.map +0 -1
  943. package/dist/cli/commands/join.d.ts +0 -9
  944. package/dist/cli/commands/join.js +0 -255
  945. package/dist/cli/commands/join.js.map +0 -1
  946. package/dist/cli/commands/start.d.ts +0 -7
  947. package/dist/cli/commands/start.js +0 -584
  948. package/dist/cli/commands/start.js.map +0 -1
  949. package/dist/cli/commands/update.d.ts +0 -8
  950. package/dist/cli/commands/update.js +0 -155
  951. package/dist/cli/commands/update.js.map +0 -1
  952. package/dist/cli/commands/user.d.ts +0 -7
  953. package/dist/cli/commands/user.js +0 -175
  954. package/dist/cli/commands/user.js.map +0 -1
  955. package/dist/cli/scaffolding.d.ts +0 -12
  956. package/dist/cli/scaffolding.js +0 -397
  957. package/dist/cli/scaffolding.js.map +0 -1
  958. package/dist/integrations/registry.d.ts +0 -8
  959. package/dist/integrations/registry.js +0 -7
  960. package/dist/integrations/registry.js.map +0 -1
  961. package/dist/integrations/types.d.ts +0 -43
  962. package/dist/integrations/types.js +0 -5
  963. package/dist/integrations/types.js.map +0 -1
  964. package/dist/lib/lib/utils.d.ts +0 -2
  965. package/dist/lib/lib/utils.js +0 -6
  966. package/dist/lib/lib/utils.js.map +0 -1
  967. package/dist/server/chrome/chrome.css +0 -691
  968. package/dist/server/chrome/chrome.js +0 -374
  969. package/dist/server/commit-scheduler.d.ts +0 -39
  970. package/dist/server/commit-scheduler.js +0 -113
  971. package/dist/server/commit-scheduler.js.map +0 -1
  972. package/dist/server/plugin-loader.d.ts +0 -53
  973. package/dist/server/plugin-loader.js +0 -155
  974. package/dist/server/plugin-loader.js.map +0 -1
  975. package/dist/server/routes/meeting-ingest-api.d.ts +0 -14
  976. package/dist/server/routes/meeting-ingest-api.js.map +0 -1
  977. package/dist/server/routes/messages-api.d.ts +0 -15
  978. package/dist/server/routes/messages-api.js +0 -517
  979. package/dist/server/routes/messages-api.js.map +0 -1
  980. package/dist/services/batch-processor.d.ts +0 -49
  981. package/dist/services/batch-processor.js +0 -166
  982. package/dist/services/batch-processor.js.map +0 -1
  983. package/dist/services/briefing.d.ts +0 -26
  984. package/dist/services/briefing.js +0 -230
  985. package/dist/services/briefing.js.map +0 -1
  986. package/dist/services/heartbeat.d.ts +0 -28
  987. package/dist/services/heartbeat.js +0 -183
  988. package/dist/services/heartbeat.js.map +0 -1
  989. package/dist/services/image-import-service.d.ts +0 -24
  990. package/dist/services/image-import-service.js +0 -108
  991. package/dist/services/image-import-service.js.map +0 -1
  992. package/dist/services/insights.d.ts +0 -38
  993. package/dist/services/insights.js +0 -269
  994. package/dist/services/insights.js.map +0 -1
  995. package/dist/services/meeting-processor.js.map +0 -1
  996. package/dist/services/message-service.d.ts +0 -103
  997. package/dist/services/message-service.js +0 -368
  998. package/dist/services/message-service.js.map +0 -1
  999. package/dist/utils/workspace-config.d.ts +0 -8
  1000. package/dist/utils/workspace-config.js +0 -22
  1001. package/dist/utils/workspace-config.js.map +0 -1
  1002. package/dist/web/_app/immutable/assets/0.VE6f3SLE.css +0 -1
  1003. package/dist/web/_app/immutable/assets/11.2jzI3cZY.css +0 -1
  1004. package/dist/web/_app/immutable/assets/12.CT4xL4K3.css +0 -1
  1005. package/dist/web/_app/immutable/assets/13.BUrHkYry.css +0 -1
  1006. package/dist/web/_app/immutable/assets/2.DFnAqkwi.css +0 -1
  1007. package/dist/web/_app/immutable/assets/3.BxdqT7zi.css +0 -1
  1008. package/dist/web/_app/immutable/assets/4.vAqLxp9O.css +0 -1
  1009. package/dist/web/_app/immutable/assets/5.DFeGxLYf.css +0 -1
  1010. package/dist/web/_app/immutable/assets/GraphView.D9ePpZez.css +0 -1
  1011. package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +0 -1
  1012. package/dist/web/_app/immutable/assets/ViewToolbar.BWE03S64.css +0 -1
  1013. package/dist/web/_app/immutable/assets/WorkspaceView.BwwNsZV3.css +0 -1
  1014. package/dist/web/_app/immutable/assets/wikilinks.BS0mqYiE.css +0 -1
  1015. package/dist/web/_app/immutable/chunks/0xosCz3V.js +0 -2
  1016. package/dist/web/_app/immutable/chunks/3ZzdnuIF.js +0 -1
  1017. package/dist/web/_app/immutable/chunks/7S2LGqoP.js +0 -2
  1018. package/dist/web/_app/immutable/chunks/8dDoQKOt.js +0 -1
  1019. package/dist/web/_app/immutable/chunks/B0r174Ai.js +0 -1
  1020. package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
  1021. package/dist/web/_app/immutable/chunks/BJYU-LYH.js +0 -1
  1022. package/dist/web/_app/immutable/chunks/BO3ds3P4.js +0 -2
  1023. package/dist/web/_app/immutable/chunks/BUALj-Ou.js +0 -1
  1024. package/dist/web/_app/immutable/chunks/BUXSPolg.js +0 -1
  1025. package/dist/web/_app/immutable/chunks/Bg1Ih8OX.js +0 -1
  1026. package/dist/web/_app/immutable/chunks/BhlvzGQx.js +0 -1
  1027. package/dist/web/_app/immutable/chunks/BmNGzlgD.js +0 -1
  1028. package/dist/web/_app/immutable/chunks/BqrEdJsM.js +0 -1
  1029. package/dist/web/_app/immutable/chunks/BrebtJNG.js +0 -18
  1030. package/dist/web/_app/immutable/chunks/BsMlg-wQ.js +0 -2
  1031. package/dist/web/_app/immutable/chunks/Bz0ZjVQE.js +0 -2
  1032. package/dist/web/_app/immutable/chunks/C0LVZhvn.js +0 -1
  1033. package/dist/web/_app/immutable/chunks/CICg94r_.js +0 -1
  1034. package/dist/web/_app/immutable/chunks/CKoBpVLq.js +0 -1
  1035. package/dist/web/_app/immutable/chunks/CSVbGg_b.js +0 -5
  1036. package/dist/web/_app/immutable/chunks/CU4IOjnz.js +0 -1
  1037. package/dist/web/_app/immutable/chunks/CX_61fY8.js +0 -5
  1038. package/dist/web/_app/immutable/chunks/CYrVHOHA.js +0 -1
  1039. package/dist/web/_app/immutable/chunks/Cit3tOnH.js +0 -2
  1040. package/dist/web/_app/immutable/chunks/Cq8Hhtck.js +0 -4
  1041. package/dist/web/_app/immutable/chunks/CqkleIqs.js +0 -1
  1042. package/dist/web/_app/immutable/chunks/D3MzxwdP.js +0 -2
  1043. package/dist/web/_app/immutable/chunks/D6r2mWx0.js +0 -1
  1044. package/dist/web/_app/immutable/chunks/DFYOFE3o.js +0 -1
  1045. package/dist/web/_app/immutable/chunks/DKT2wixU.js +0 -1
  1046. package/dist/web/_app/immutable/chunks/DKZYCQ35.js +0 -1
  1047. package/dist/web/_app/immutable/chunks/DLXlUcFF.js +0 -1
  1048. package/dist/web/_app/immutable/chunks/DR-c_XRV.js +0 -1
  1049. package/dist/web/_app/immutable/chunks/DRHfEYEw.js +0 -1
  1050. package/dist/web/_app/immutable/chunks/DSVUYo2i.js +0 -1
  1051. package/dist/web/_app/immutable/chunks/D_1IpeHn.js +0 -1
  1052. package/dist/web/_app/immutable/chunks/Db6VA2q6.js +0 -1
  1053. package/dist/web/_app/immutable/chunks/DboVaCak.js +0 -1
  1054. package/dist/web/_app/immutable/chunks/DgjrVD1n.js +0 -1
  1055. package/dist/web/_app/immutable/chunks/DhIS8zWJ.js +0 -1
  1056. package/dist/web/_app/immutable/chunks/DnL9f0lc.js +0 -7
  1057. package/dist/web/_app/immutable/chunks/DsnmJJEf.js +0 -1
  1058. package/dist/web/_app/immutable/chunks/DxyEaTZ8.js +0 -1
  1059. package/dist/web/_app/immutable/chunks/KyjzlWRN.js +0 -2
  1060. package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +0 -1
  1061. package/dist/web/_app/immutable/chunks/RcX7UacJ.js +0 -1
  1062. package/dist/web/_app/immutable/chunks/WSUKABI_.js +0 -1
  1063. package/dist/web/_app/immutable/chunks/WhIlcLEL.js +0 -1
  1064. package/dist/web/_app/immutable/chunks/ZzwZTUnl.js +0 -1
  1065. package/dist/web/_app/immutable/chunks/bRs4k3rK.js +0 -1
  1066. package/dist/web/_app/immutable/chunks/d7XlWA-m.js +0 -1
  1067. package/dist/web/_app/immutable/chunks/howBHUZ1.js +0 -5
  1068. package/dist/web/_app/immutable/chunks/on9YBgxO.js +0 -1
  1069. package/dist/web/_app/immutable/chunks/p7kHVBI9.js +0 -1
  1070. package/dist/web/_app/immutable/chunks/vwUQD8TZ.js +0 -1
  1071. package/dist/web/_app/immutable/chunks/vxEtkL8z.js +0 -1
  1072. package/dist/web/_app/immutable/chunks/wDIGUaoU.js +0 -3
  1073. package/dist/web/_app/immutable/entry/app.diOJH39u.js +0 -2
  1074. package/dist/web/_app/immutable/entry/start.Cwjf_1Mu.js +0 -1
  1075. package/dist/web/_app/immutable/nodes/0.CRHumpNZ.js +0 -2
  1076. package/dist/web/_app/immutable/nodes/1.DPEXHIi4.js +0 -1
  1077. package/dist/web/_app/immutable/nodes/10.CRjGeVOe.js +0 -1
  1078. package/dist/web/_app/immutable/nodes/11.BTcDQILY.js +0 -1
  1079. package/dist/web/_app/immutable/nodes/12.CPRegTDy.js +0 -1
  1080. package/dist/web/_app/immutable/nodes/13.CtVrdiL0.js +0 -1
  1081. package/dist/web/_app/immutable/nodes/2.Bw5xuVRx.js +0 -267
  1082. package/dist/web/_app/immutable/nodes/3.YHjZ0gVU.js +0 -5
  1083. package/dist/web/_app/immutable/nodes/4.Bw1w9MZF.js +0 -11
  1084. package/dist/web/_app/immutable/nodes/5.B20wlvuv.js +0 -4
  1085. package/dist/web/_app/immutable/nodes/6.xaLVH2zJ.js +0 -1
  1086. package/dist/web/_app/immutable/nodes/7.C56-QPa5.js +0 -1
  1087. package/dist/web/_app/immutable/nodes/8.BrIo9SZG.js +0 -1
  1088. package/dist/web/_app/immutable/nodes/9.NlP9sIQc.js +0 -1
@@ -1,368 +0,0 @@
1
- /**
2
- * Message Service
3
- *
4
- * SQLite-backed persistence for both collection-scoped and workspace-scoped
5
- * messaging. Database lives at .studiograph/messages.db inside the workspace.
6
- * Follows the AuthService pattern (WAL mode, table creation on init).
7
- *
8
- * Scope model:
9
- * - messages.collection = '<name>' → collection-scoped (team chat within a collection)
10
- * - messages.collection = NULL → workspace-scoped (shared home chat)
11
- *
12
- * Read receipts are split across two tables (collection vs. workspace) because
13
- * the collection read_receipts PK is (user_id, collection); allowing NULL there
14
- * would break uniqueness semantics.
15
- */
16
- import Database from 'better-sqlite3';
17
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
18
- import { join } from 'path';
19
- export class MessageService {
20
- db;
21
- constructor(workspacePath) {
22
- const sgDir = join(workspacePath, '.studiograph');
23
- if (!existsSync(sgDir)) {
24
- mkdirSync(sgDir, { recursive: true });
25
- }
26
- const dbPath = join(sgDir, 'messages.db');
27
- this.db = new Database(dbPath);
28
- this.db.pragma('journal_mode = WAL');
29
- // messages.collection is nullable: NULL = workspace-scoped, string = collection-scoped.
30
- this.db.exec(`
31
- CREATE TABLE IF NOT EXISTS messages (
32
- id INTEGER PRIMARY KEY AUTOINCREMENT,
33
- collection TEXT,
34
- user_id INTEGER NOT NULL,
35
- user_display_name TEXT NOT NULL,
36
- role TEXT NOT NULL DEFAULT 'user' CHECK(role IN ('user', 'agent')),
37
- content TEXT NOT NULL,
38
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
39
- )
40
- `);
41
- this.db.exec(`
42
- CREATE INDEX IF NOT EXISTS idx_messages_collection_id
43
- ON messages(collection, id)
44
- `);
45
- // Collection read receipts — keyed by (user_id, collection). For workspace
46
- // read state we use a separate table (workspace_read_receipts) because
47
- // SQLite does not enforce uniqueness over NULL in a composite PK.
48
- this.db.exec(`
49
- CREATE TABLE IF NOT EXISTS read_receipts (
50
- user_id INTEGER NOT NULL,
51
- collection TEXT NOT NULL,
52
- last_read_message_id INTEGER NOT NULL DEFAULT 0,
53
- updated_at TEXT NOT NULL DEFAULT (datetime('now')),
54
- PRIMARY KEY (user_id, collection)
55
- )
56
- `);
57
- this.db.exec(`
58
- CREATE TABLE IF NOT EXISTS workspace_read_receipts (
59
- user_id INTEGER PRIMARY KEY,
60
- last_read_message_id INTEGER NOT NULL DEFAULT 0,
61
- updated_at TEXT NOT NULL DEFAULT (datetime('now'))
62
- )
63
- `);
64
- // Legacy column additions (messages pre-dating reply_to_id/mentions)
65
- try {
66
- this.db.exec('ALTER TABLE messages ADD COLUMN reply_to_id INTEGER');
67
- }
68
- catch { }
69
- try {
70
- this.db.exec('ALTER TABLE messages ADD COLUMN mentions TEXT');
71
- }
72
- catch { }
73
- // Notifications: collection nullable for workspace-wide mentions.
74
- this.db.exec(`
75
- CREATE TABLE IF NOT EXISTS notifications (
76
- id INTEGER PRIMARY KEY AUTOINCREMENT,
77
- user_id INTEGER NOT NULL,
78
- collection TEXT,
79
- message_id INTEGER NOT NULL,
80
- mentioner_name TEXT NOT NULL,
81
- message_preview TEXT NOT NULL,
82
- read INTEGER NOT NULL DEFAULT 0,
83
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
84
- )
85
- `);
86
- this.db.exec(`
87
- CREATE INDEX IF NOT EXISTS idx_notifications_user
88
- ON notifications(user_id, read, id DESC)
89
- `);
90
- // Migrate pre-existing databases that were created with NOT NULL collection.
91
- // No-op for fresh databases created with the schema above.
92
- this.migrateCollectionToNullable();
93
- // Ensure messages.db is gitignored
94
- this.ensureGitignore(sgDir);
95
- }
96
- /**
97
- * If an older database exists with `collection TEXT NOT NULL`, rebuild the
98
- * table to allow NULL. SQLite has no direct `ALTER COLUMN DROP NOT NULL`, so
99
- * we do the canonical table-rebuild dance inside a transaction.
100
- *
101
- * Safe to run every boot: no-op when the column is already nullable.
102
- */
103
- migrateCollectionToNullable() {
104
- const isColumnNotNull = (table, column) => {
105
- const rows = this.db.prepare(`PRAGMA table_info(${table})`).all();
106
- const col = rows.find(r => r.name === column);
107
- return col?.notnull === 1;
108
- };
109
- if (isColumnNotNull('messages', 'collection')) {
110
- this.db.exec('BEGIN IMMEDIATE TRANSACTION');
111
- try {
112
- this.db.exec(`
113
- CREATE TABLE messages_new (
114
- id INTEGER PRIMARY KEY AUTOINCREMENT,
115
- collection TEXT,
116
- user_id INTEGER NOT NULL,
117
- user_display_name TEXT NOT NULL,
118
- role TEXT NOT NULL DEFAULT 'user' CHECK(role IN ('user', 'agent')),
119
- content TEXT NOT NULL,
120
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
121
- reply_to_id INTEGER,
122
- mentions TEXT
123
- )
124
- `);
125
- this.db.exec(`
126
- INSERT INTO messages_new (id, collection, user_id, user_display_name, role, content, created_at, reply_to_id, mentions)
127
- SELECT id, collection, user_id, user_display_name, role, content, created_at, reply_to_id, mentions FROM messages
128
- `);
129
- this.db.exec('DROP TABLE messages');
130
- this.db.exec('ALTER TABLE messages_new RENAME TO messages');
131
- this.db.exec('CREATE INDEX IF NOT EXISTS idx_messages_collection_id ON messages(collection, id)');
132
- this.db.exec('COMMIT');
133
- console.log('[message-service] Migrated messages.collection to nullable');
134
- }
135
- catch (err) {
136
- this.db.exec('ROLLBACK');
137
- throw err;
138
- }
139
- }
140
- if (isColumnNotNull('notifications', 'collection')) {
141
- this.db.exec('BEGIN IMMEDIATE TRANSACTION');
142
- try {
143
- this.db.exec(`
144
- CREATE TABLE notifications_new (
145
- id INTEGER PRIMARY KEY AUTOINCREMENT,
146
- user_id INTEGER NOT NULL,
147
- collection TEXT,
148
- message_id INTEGER NOT NULL,
149
- mentioner_name TEXT NOT NULL,
150
- message_preview TEXT NOT NULL,
151
- read INTEGER NOT NULL DEFAULT 0,
152
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
153
- )
154
- `);
155
- this.db.exec(`
156
- INSERT INTO notifications_new (id, user_id, collection, message_id, mentioner_name, message_preview, read, created_at)
157
- SELECT id, user_id, collection, message_id, mentioner_name, message_preview, read, created_at FROM notifications
158
- `);
159
- this.db.exec('DROP TABLE notifications');
160
- this.db.exec('ALTER TABLE notifications_new RENAME TO notifications');
161
- this.db.exec('CREATE INDEX IF NOT EXISTS idx_notifications_user ON notifications(user_id, read, id DESC)');
162
- this.db.exec('COMMIT');
163
- console.log('[message-service] Migrated notifications.collection to nullable');
164
- }
165
- catch (err) {
166
- this.db.exec('ROLLBACK');
167
- throw err;
168
- }
169
- }
170
- }
171
- /** Post a new message to a collection thread. */
172
- postMessage(collection, userId, displayName, role, content, replyToId) {
173
- const stmt = this.db.prepare('INSERT INTO messages (collection, user_id, user_display_name, role, content, reply_to_id) VALUES (?, ?, ?, ?, ?, ?)');
174
- const result = stmt.run(collection, userId, displayName, role, content, replyToId ?? null);
175
- const row = this.db.prepare('SELECT * FROM messages WHERE id = ?').get(result.lastInsertRowid);
176
- return this.toMessage(row);
177
- }
178
- /** Get messages for a collection with cursor-based pagination (newest first). */
179
- getMessages(collection, opts = {}) {
180
- const limit = Math.min(opts.limit ?? 50, 200);
181
- let rows;
182
- if (opts.before) {
183
- rows = this.db.prepare('SELECT * FROM messages WHERE collection = ? AND id < ? ORDER BY id DESC LIMIT ?').all(collection, opts.before, limit);
184
- }
185
- else {
186
- rows = this.db.prepare('SELECT * FROM messages WHERE collection = ? ORDER BY id DESC LIMIT ?').all(collection, limit);
187
- }
188
- return rows.map(r => this.toMessage(r));
189
- }
190
- /** Search messages by keyword, optionally scoped to a collection. */
191
- searchMessages(query, opts = {}) {
192
- const limit = Math.min(opts.limit ?? 20, 100);
193
- if (opts.collection) {
194
- const rows = this.db.prepare(`SELECT * FROM messages WHERE collection = ? AND content LIKE '%' || ? || '%' ORDER BY id DESC LIMIT ?`).all(opts.collection, query, limit);
195
- return rows.map(r => this.toMessage(r));
196
- }
197
- if (opts.collections && opts.collections.length > 0) {
198
- const placeholders = opts.collections.map(() => '?').join(', ');
199
- const rows = this.db.prepare(`SELECT * FROM messages WHERE collection IN (${placeholders}) AND content LIKE '%' || ? || '%' ORDER BY id DESC LIMIT ?`).all(...opts.collections, query, limit);
200
- return rows.map(r => this.toMessage(r));
201
- }
202
- const rows = this.db.prepare(`SELECT * FROM messages WHERE content LIKE '%' || ? || '%' ORDER BY id DESC LIMIT ?`).all(query, limit);
203
- return rows.map(r => this.toMessage(r));
204
- }
205
- /** Mark messages as read up to a given message ID (UPSERT). */
206
- markRead(userId, collection, messageId) {
207
- this.db.prepare(`
208
- INSERT INTO read_receipts (user_id, collection, last_read_message_id, updated_at)
209
- VALUES (?, ?, ?, datetime('now'))
210
- ON CONFLICT (user_id, collection)
211
- DO UPDATE SET
212
- last_read_message_id = MAX(excluded.last_read_message_id, read_receipts.last_read_message_id),
213
- updated_at = excluded.updated_at
214
- `).run(userId, collection, messageId);
215
- }
216
- /** Get unread message counts for a user across multiple collections. */
217
- getUnreadCounts(userId, collections) {
218
- if (collections.length === 0)
219
- return {};
220
- const counts = {};
221
- const stmt = this.db.prepare(`
222
- SELECT COUNT(*) as count FROM messages
223
- WHERE collection = ? AND id > COALESCE(
224
- (SELECT last_read_message_id FROM read_receipts WHERE user_id = ? AND collection = ?),
225
- 0
226
- )
227
- `);
228
- for (const col of collections) {
229
- const row = stmt.get(col, userId, col);
230
- if (row.count > 0) {
231
- counts[col] = row.count;
232
- }
233
- }
234
- return counts;
235
- }
236
- /** Update a message's content (used to mark capture items as done). */
237
- updateMessageContent(id, content) {
238
- this.db.prepare('UPDATE messages SET content = ? WHERE id = ?').run(content, id);
239
- }
240
- /** Get a single message by ID. */
241
- getMessageById(id) {
242
- const row = this.db.prepare('SELECT * FROM messages WHERE id = ?').get(id);
243
- return row ? this.toMessage(row) : null;
244
- }
245
- /** Get the latest message ID for a collection (for markRead on load). */
246
- getLatestMessageId(collection) {
247
- const row = this.db.prepare('SELECT MAX(id) as max_id FROM messages WHERE collection = ?').get(collection);
248
- return row.max_id;
249
- }
250
- /** Update the mentions JSON array on a message (called after mention detection). */
251
- setMentions(messageId, userIds) {
252
- this.db.prepare('UPDATE messages SET mentions = ? WHERE id = ?').run(JSON.stringify(userIds), messageId);
253
- }
254
- // ── Workspace-scoped messaging (collection IS NULL) ──
255
- /** Post a new message to the workspace-wide chat. */
256
- postWorkspaceMessage(userId, displayName, role, content, replyToId) {
257
- const stmt = this.db.prepare('INSERT INTO messages (collection, user_id, user_display_name, role, content, reply_to_id) VALUES (NULL, ?, ?, ?, ?, ?)');
258
- const result = stmt.run(userId, displayName, role, content, replyToId ?? null);
259
- const row = this.db.prepare('SELECT * FROM messages WHERE id = ?').get(result.lastInsertRowid);
260
- return this.toMessage(row);
261
- }
262
- /** Get workspace-wide messages with cursor-based pagination (newest first). */
263
- getWorkspaceMessages(opts = {}) {
264
- const limit = Math.min(opts.limit ?? 50, 200);
265
- let rows;
266
- if (opts.before) {
267
- rows = this.db.prepare('SELECT * FROM messages WHERE collection IS NULL AND id < ? ORDER BY id DESC LIMIT ?').all(opts.before, limit);
268
- }
269
- else {
270
- rows = this.db.prepare('SELECT * FROM messages WHERE collection IS NULL ORDER BY id DESC LIMIT ?').all(limit);
271
- }
272
- return rows.map(r => this.toMessage(r));
273
- }
274
- /** Mark workspace messages as read up to a given message ID (UPSERT). */
275
- markWorkspaceRead(userId, messageId) {
276
- this.db.prepare(`
277
- INSERT INTO workspace_read_receipts (user_id, last_read_message_id, updated_at)
278
- VALUES (?, ?, datetime('now'))
279
- ON CONFLICT (user_id)
280
- DO UPDATE SET
281
- last_read_message_id = MAX(excluded.last_read_message_id, workspace_read_receipts.last_read_message_id),
282
- updated_at = excluded.updated_at
283
- `).run(userId, messageId);
284
- }
285
- /** Count unread workspace messages for a user. */
286
- getWorkspaceUnreadCount(userId) {
287
- const row = this.db.prepare(`
288
- SELECT COUNT(*) as count FROM messages
289
- WHERE collection IS NULL AND id > COALESCE(
290
- (SELECT last_read_message_id FROM workspace_read_receipts WHERE user_id = ?),
291
- 0
292
- )
293
- `).get(userId);
294
- return row.count;
295
- }
296
- /** Latest workspace message ID (for mark-read on load). */
297
- getLatestWorkspaceMessageId() {
298
- const row = this.db.prepare('SELECT MAX(id) as max_id FROM messages WHERE collection IS NULL').get();
299
- return row.max_id;
300
- }
301
- // ── Notifications ──
302
- /**
303
- * Create a mention notification.
304
- * @param collection collection name, or `null` for workspace-wide mentions.
305
- */
306
- createNotification(userId, collection, messageId, mentionerName, messagePreview) {
307
- this.db.prepare('INSERT INTO notifications (user_id, collection, message_id, mentioner_name, message_preview) VALUES (?, ?, ?, ?, ?)').run(userId, collection, messageId, mentionerName, messagePreview.slice(0, 200));
308
- }
309
- getNotifications(userId, opts = {}) {
310
- const limit = opts.limit ?? 50;
311
- const where = opts.unreadOnly ? 'WHERE user_id = ? AND read = 0' : 'WHERE user_id = ?';
312
- const rows = this.db.prepare(`SELECT * FROM notifications ${where} ORDER BY id DESC LIMIT ?`).all(userId, limit);
313
- return rows.map(r => this.toNotification(r));
314
- }
315
- getUnreadNotificationCount(userId) {
316
- const row = this.db.prepare('SELECT COUNT(*) as count FROM notifications WHERE user_id = ? AND read = 0').get(userId);
317
- return row.count;
318
- }
319
- markNotificationRead(notificationId, userId) {
320
- this.db.prepare('UPDATE notifications SET read = 1 WHERE id = ? AND user_id = ?').run(notificationId, userId);
321
- }
322
- markAllNotificationsRead(userId) {
323
- this.db.prepare('UPDATE notifications SET read = 1 WHERE user_id = ? AND read = 0').run(userId);
324
- }
325
- close() {
326
- this.db.close();
327
- }
328
- ensureGitignore(sgDir) {
329
- const gitignorePath = join(sgDir, '.gitignore');
330
- const entries = ['messages.db', 'messages.db-wal', 'messages.db-shm'];
331
- let content = '';
332
- if (existsSync(gitignorePath)) {
333
- content = readFileSync(gitignorePath, 'utf-8');
334
- }
335
- const missing = entries.filter(e => !content.includes(e));
336
- if (missing.length > 0) {
337
- const suffix = (content && !content.endsWith('\n') ? '\n' : '') +
338
- '# Messages database (ephemeral, not synced)\n' +
339
- missing.join('\n') + '\n';
340
- writeFileSync(gitignorePath, content + suffix, 'utf-8');
341
- }
342
- }
343
- toNotification(row) {
344
- return {
345
- id: row.id,
346
- userId: row.user_id,
347
- collection: row.collection,
348
- messageId: row.message_id,
349
- mentionerName: row.mentioner_name,
350
- messagePreview: row.message_preview,
351
- read: row.read === 1,
352
- createdAt: row.created_at,
353
- };
354
- }
355
- toMessage(row) {
356
- return {
357
- id: row.id,
358
- collection: row.collection,
359
- userId: row.user_id,
360
- userDisplayName: row.user_display_name,
361
- role: row.role,
362
- content: row.content,
363
- createdAt: row.created_at,
364
- replyToId: row.reply_to_id ?? null,
365
- };
366
- }
367
- }
368
- //# sourceMappingURL=message-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-service.js","sourceRoot":"","sources":["../../src/services/message-service.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Lightweight workspace config reader.
3
- *
4
- * Reads .studiograph/workspace.json synchronously without
5
- * instantiating the full Workspace class. Used by sync pipeline
6
- * modules that only need repo paths.
7
- */
8
- export declare function loadWorkspaceConfig(workspacePath: string): any;
@@ -1,22 +0,0 @@
1
- /**
2
- * Lightweight workspace config reader.
3
- *
4
- * Reads .studiograph/workspace.json synchronously without
5
- * instantiating the full Workspace class. Used by sync pipeline
6
- * modules that only need repo paths.
7
- */
8
- import { existsSync, readFileSync } from 'fs';
9
- import { join } from 'path';
10
- export function loadWorkspaceConfig(workspacePath) {
11
- try {
12
- const configPath = join(workspacePath, '.studiograph', 'workspace.json');
13
- if (existsSync(configPath)) {
14
- return JSON.parse(readFileSync(configPath, 'utf-8'));
15
- }
16
- }
17
- catch {
18
- // non-fatal — callers handle null
19
- }
20
- return null;
21
- }
22
- //# sourceMappingURL=workspace-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-config.js","sourceRoot":"","sources":["../../src/utils/workspace-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;QACzE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +0,0 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:12px;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-accent:#e05050;--color-accent-hover:#c94444;--color-success:#3ecf8e;--color-destructive:#e54d4d;--color-destructive-hover:#c93c3c;--color-link:#e07070;--menu-font-size:13px;--menu-item-padding:8px 10px;--menu-item-radius:6px;--menu-item-height:32px;--menu-min-width:140px;--row-height:44px;--col-padding:28px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box;margin:0;padding:0}:focus{outline:none}body{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:22px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}}@layer components;@layer utilities{.\@container{container-type:inline-size}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-\[50\%\]{top:50%}.left-\[50\%\]{left:50%}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.my-0{margin-block:calc(var(--spacing) * 0)}.mt-4{margin-top:calc(var(--spacing) * 4)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\[22px\]{width:22px;height:22px}.size-full{width:100%;height:100%}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}.gap-\[11px\]{gap:11px}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-text-tertiary\)\]{border-color:var(--color-text-tertiary)}.border-transparent{border-color:#0000}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-badge-bg\)\]{background-color:var(--color-badge-bg)}.bg-\[var\(--color-bg\)\]{background-color:var(--color-bg)}.bg-\[var\(--color-bg-elevated\)\]{background-color:var(--color-bg-elevated)}.bg-\[var\(--color-bg-surface\)\]{background-color:var(--color-bg-surface)}.bg-\[var\(--color-destructive\)\]{background-color:var(--color-destructive)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.p-0{padding:calc(var(--spacing) * 0)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pl-\[19px\]{padding-left:19px}.text-center{text-align:center}.text-start{text-align:start}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.font-\[inherit\]{font-family:inherit}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-badge-text\)\]{color:var(--color-badge-text)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--color-text-tertiary\)\]{color:var(--color-text-tertiary)}.text-current{color:currentColor}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,background\]{transition-property:color,background;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.\[captured\:\.\.\.\]{captured:...}.placeholder\:text-\[var\(--color-text-tertiary\)\]::placeholder{color:var(--color-text-tertiary)}@media(hover:hover){.hover\:border-\[var\(--color-accent\)\]:hover{border-color:var(--color-accent)}.hover\:bg-\[var\(--color-accent-hover\)\]:hover{background-color:var(--color-accent-hover)}.hover\:bg-\[var\(--color-bg-hover\)\]:hover{background-color:var(--color-bg-hover)}.hover\:bg-\[var\(--color-destructive-hover\)\]:hover{background-color:var(--color-destructive-hover)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:text-\[var\(--color-text-primary\)\]:hover{color:var(--color-text-primary)}.hover\:text-\[var\(--color-text-secondary\)\]:hover{color:var(--color-text-secondary)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:z-10:focus{z-index:10}.focus\:border-\[var\(--color-accent\,\#e05050\)\]:focus{border-color:var(--color-accent,#e05050)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[var\(--color-accent\)\]:focus-visible{--tw-ring-color:var(--color-accent)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[var\(--color-bg-primary\)\]:focus-visible{--tw-ring-offset-color:var(--color-bg-primary)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#e54d4d33}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:min-h-full[data-orientation=vertical]{min-height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[spacing\=0\]\:rounded-none[data-spacing="0"]{border-radius:0}.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[spacing\=0\]\:first\:rounded-l-md[data-spacing="0"]:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.data-\[spacing\=0\]\:last\:rounded-r-md[data-spacing="0"]:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.data-\[state\=active\]\:bg-\[var\(--color-bg-hover\)\][data-state=active]{background-color:var(--color-bg-hover)}.data-\[state\=active\]\:font-medium[data-state=active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[state\=active\]\:text-\[var\(--color-text-primary\)\][data-state=active]{color:var(--color-text-primary)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:border-\[var\(--color-accent\)\][data-state=checked]{border-color:var(--color-accent)}.data-\[state\=checked\]\:bg-\[var\(--color-accent\)\][data-state=checked]{background-color:var(--color-accent)}.data-\[state\=checked\]\:text-white[data-state=checked]{color:var(--color-white)}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--color-accent)}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-spacing=default][data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-start{text-align:start}}@media(prefers-color-scheme:dark){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#e54d4d66}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}}.\[\&_img\]\:size-full img{width:100%;height:100%}.\[\&_img\]\:object-cover img{object-fit:cover}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{flex:none}.\[\&\:has\(\[role\=checkbox\]\)\]\:pe-0:has([role=checkbox]){padding-inline-end:calc(var(--spacing) * 0)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root,[data-theme=dark]{--color-bg:#09090b;--color-bg-elevated:#0f0f12;--color-bg-surface:#121216;--color-bg-hover:#1a1a1f;--color-bg-selected:#1a1a1f;--color-border:#1e1e24;--color-border-strong:#2a2a32;--color-text-primary:#ededef;--color-text-secondary:#a0a0a6;--color-text-tertiary:#5c5c66;--color-accent-muted:#e0505014;--color-badge-bg:#1a1a22;--color-badge-text:#8b8b94}[data-theme=light]{--color-bg:#f8f8fa;--color-bg-elevated:#f0f0f3;--color-bg-surface:#f0f0f3;--color-bg-hover:#e2e2e8;--color-bg-selected:#e2e2e8;--color-border:#dadadf;--color-border-strong:#c9c9d0;--color-text-primary:#1a1a1f;--color-text-secondary:#63636b;--color-text-tertiary:#9898a0;--color-accent-muted:#e0505014;--color-badge-bg:#e0e0e5;--color-badge-text:#63636b}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}[data-sonner-toast]{background:var(--color-bg-elevated)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid var(--color-border)!important;color:var(--color-text-primary)!important}
@@ -1 +0,0 @@
1
- .search-loading.svelte-u56y4m{display:flex;align-items:center;justify-content:center;flex:1;color:var(--color-text-tertiary);font-size:14px}
@@ -1 +0,0 @@
1
- .login-page.svelte-1x05zx6{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.login-card.svelte-1x05zx6{width:100%;max-width:360px;padding:40px 32px}.logo.svelte-1x05zx6{display:flex;align-items:center;gap:12px;margin-bottom:36px;justify-content:center}.logo-icon.svelte-1x05zx6{width:32px;height:32px;border-radius:50%;background:var(--color-accent, #e05050);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.logo-text.svelte-1x05zx6{font-size:20px;font-weight:600;color:var(--color-text-primary)}form.svelte-1x05zx6{display:flex;flex-direction:column;gap:20px}.field.svelte-1x05zx6{display:flex;flex-direction:column;gap:6px}.field-label.svelte-1x05zx6{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.field.svelte-1x05zx6 .field-input{height:40px;border-radius:8px;font-size:15px}.error-msg.svelte-1x05zx6{margin:0;font-size:14px;color:#e55;text-align:center}form.svelte-1x05zx6 .submit-btn{height:40px;border-radius:8px;font-size:15px;font-weight:600;margin-top:4px;width:100%}
@@ -1 +0,0 @@
1
- .setup-page.svelte-g40i6i{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.setup-card.svelte-g40i6i{width:100%;max-width:360px;padding:40px 32px}.logo.svelte-g40i6i{display:flex;align-items:center;gap:12px;margin-bottom:12px;justify-content:center}.logo-icon.svelte-g40i6i{width:32px;height:32px;border-radius:50%;background:var(--color-accent, #e05050);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.logo-text.svelte-g40i6i{font-size:20px;font-weight:600;color:var(--color-text-primary)}.subtitle.svelte-g40i6i{text-align:center;color:var(--color-text-secondary);font-size:15px;margin:0 0 28px}form.svelte-g40i6i{display:flex;flex-direction:column;gap:20px}.field.svelte-g40i6i{display:flex;flex-direction:column;gap:6px}.field-label.svelte-g40i6i{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.field-hint.svelte-g40i6i{font-size:13px;color:var(--color-text-tertiary, var(--color-text-secondary));opacity:.7}.field.svelte-g40i6i .field-input{height:40px;border-radius:8px;font-size:15px}.error-msg.svelte-g40i6i{margin:0;font-size:14px;color:#e55;text-align:center}form.svelte-g40i6i .submit-btn{height:40px;border-radius:8px;font-size:15px;font-weight:600;margin-top:4px;width:100%}
@@ -1 +0,0 @@
1
- .resize-handle.svelte-tfh9g9{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:10}.resize-handle.right.svelte-tfh9g9{right:-3px}.resize-handle.left.svelte-tfh9g9{left:-3px}.resize-handle.svelte-tfh9g9:hover,.resize-handle.active.svelte-tfh9g9{background:var(--color-accent);opacity:.3}.resize-handle.active.svelte-tfh9g9{opacity:.5}.asset-manager.svelte-3ci416{max-height:calc(70vh - 80px);overflow-y:auto;padding-right:12px}.asset-status.svelte-3ci416{color:var(--color-text-secondary);font-size:13px;text-align:center;padding:32px 0}.asset-error.svelte-3ci416{color:var(--color-text-error, #e05050)}.asset-grid.svelte-3ci416{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.asset-card.svelte-3ci416{position:relative;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background:var(--color-bg-secondary)}.asset-card.svelte-3ci416:hover .asset-delete:where(.svelte-3ci416){opacity:1}.asset-preview.svelte-3ci416{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--color-bg-tertiary, var(--color-bg-secondary))}.asset-preview.svelte-3ci416 img:where(.svelte-3ci416){width:100%;height:100%;object-fit:cover}.asset-icon.svelte-3ci416{color:var(--color-text-secondary)}.asset-info.svelte-3ci416{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.asset-filename.svelte-3ci416{font-size:12px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-meta.svelte-3ci416{font-size:11px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-delete.svelte-3ci416{position:absolute;top:6px;right:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:#0009;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s}.asset-delete.svelte-3ci416:hover{background:#e05050e6}.sidebar-empty-state.svelte-6dohdz{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px 24px;text-align:center}.empty-title.svelte-6dohdz{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin:0 0 6px}.empty-desc.svelte-6dohdz{font-size:13px;color:var(--color-text-tertiary, var(--color-text-secondary));margin:0;line-height:1.4}.sidebar.svelte-6dohdz{position:relative;z-index:2;flex-shrink:0;display:flex;flex-direction:column;overflow:clip;overflow-x:visible;background:var(--color-bg);border-right:1px solid var(--color-border);transition:width .15s ease}.sidebar.collapsed.svelte-6dohdz{overflow:visible}.rail.svelte-6dohdz{display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:4px;height:100%}.rail-spacer.svelte-6dohdz{flex:1}.rail-btn{width:36px!important;height:36px!important;display:flex!important;align-items:center;justify-content:center;border-radius:8px}.rail-btn:hover{background:var(--color-bg-hover)!important}.rail.svelte-6dohdz .workspace-icon:where(.svelte-6dohdz){width:28px;height:28px;font-size:14px}.sidebar-header.svelte-6dohdz{height:var(--row-height);display:flex;align-items:center;gap:11px;padding:0 12px 0 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.header-actions.svelte-6dohdz{margin-left:auto;display:flex;align-items:center;gap:4px}.header-action-btn{display:flex;align-items:center;justify-content:center;position:relative;width:28px;height:28px;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;background:none;border:none}.header-action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.header-add-menu{background:var(--color-bg-elevated)!important;border:1px solid var(--color-border-strong)!important;border-radius:8px!important;box-shadow:0 4px 16px #0003!important;padding:4px!important;min-width:var(--menu-min-width);z-index:200!important}.menu-divider.svelte-6dohdz{height:1px;background:var(--color-border);margin:4px 8px}.header-add-item{display:flex!important;align-items:center;gap:8px;min-height:var(--menu-item-height);padding:var(--menu-item-padding)!important;border-radius:var(--menu-item-radius)!important;font-size:var(--menu-font-size);color:var(--color-text-secondary);cursor:pointer}.header-add-item:hover,.header-add-item[data-highlighted]{background:var(--color-bg-hover)!important;color:var(--color-text-primary)}.notif-dropdown{width:320px!important;max-height:400px;background:var(--color-bg)!important;border:1px solid var(--color-border)!important;border-radius:8px!important;box-shadow:0 4px 16px #0000001f!important;display:flex;flex-direction:column;overflow:hidden;padding:0!important;z-index:200!important}.notif-dropdown .notif-header{display:flex;align-items:baseline;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--color-border);flex-shrink:0}.notif-dropdown .notif-title{font-size:var(--menu-font-size);font-weight:400;color:var(--color-text-primary)}.notif-dropdown .notif-mark-all{background:none;border:none;color:var(--color-accent);font-size:12px;cursor:pointer;padding:0}.notif-dropdown .notif-mark-all:hover{text-decoration:underline}.notif-dropdown .notif-list{overflow-y:auto;flex:1}.notif-dropdown .notif-empty{padding:24px 12px;text-align:center;font-size:var(--menu-font-size);color:var(--color-text-tertiary)}.notif-item{display:flex!important;flex-direction:row!important;align-items:flex-start;position:relative;padding:12px 16px 12px 32px!important;border:none;background:none;text-align:left;width:100%;cursor:pointer;border-radius:0!important}.notif-item+.notif-item{border-top:1px solid var(--color-border)}.notif-item:hover,.notif-item[data-highlighted]{background:var(--color-bg-hover)!important}.notif-dot{position:absolute;left:12px;top:17px;width:6px;height:6px;border-radius:3px;background:var(--color-accent)}.notif-item-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.notif-item-line{display:flex;align-items:baseline;gap:4px;font-size:var(--menu-font-size);line-height:16px}.notif-item-who{font-weight:600;color:var(--color-text-primary);white-space:nowrap}.notif-item-time{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap;margin-left:auto}.notif-item-preview{font-size:12px;line-height:16px;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-mention{color:var(--color-accent)}.notif-badge.svelte-6dohdz{position:absolute;top:2px;right:2px;min-width:14px;height:14px;border-radius:7px;background:var(--color-accent);color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.sidebar-header.svelte-6dohdz .home-btn:where(.svelte-6dohdz){all:unset;display:inline-flex;align-items:center;gap:8px;min-width:0;cursor:pointer;flex:1}.workspace-icon.svelte-6dohdz{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--color-accent, #e05050);color:#fff;flex-shrink:0;transition:background .15s}.home-btn.svelte-6dohdz:hover .workspace-icon:where(.svelte-6dohdz){background:var(--color-accent-hover, #c94444)}.workspace-name.svelte-6dohdz{flex:1;font-size:14px;font-weight:600;color:var(--color-text-primary)}.sidebar-scroll.svelte-6dohdz{flex:1;overflow-y:auto;min-height:0}.repo-row{display:flex;align-items:baseline;height:var(--row-height);line-height:var(--row-height);width:100%;padding:0 12px 0 22px;border:none;background:transparent;font-family:inherit;text-align:left;border-radius:0;gap:0;justify-content:flex-start}.repo-row:hover,.repo-row.focused{background:var(--color-bg-hover)}.tree-row{position:relative;display:flex;align-items:baseline;height:var(--row-height);line-height:var(--row-height);padding-right:40px;color:var(--color-text-secondary);font-size:14px;border:none;background:transparent;font-family:inherit;text-align:left;width:100%;border-radius:0;gap:0;justify-content:flex-start}.tree-row:hover,.tree-row.focused{background:var(--color-bg-hover)}.tree-row.selected{background:var(--color-bg-selected);color:var(--color-text-primary);font-weight:600}.tree-row.ancestor{color:var(--color-text-primary);font-weight:600}.row-chevron.svelte-6dohdz{display:inline-flex;align-items:center;justify-content:center;align-self:center;width:16px;height:16px;flex-shrink:0;margin-right:14px;color:var(--color-text-secondary);transition:transform .15s}.row-chevron.open.svelte-6dohdz{transform:rotate(90deg)}.row-label.svelte-6dohdz{flex:1;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(to right,black calc(100% - 16px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - 16px),transparent 100%)}.type-header-row{color:var(--color-text-secondary)}.type-header-row.type-active{color:var(--color-text-primary);font-weight:600}.type-header-row .row-label.svelte-6dohdz{flex:none;mask-image:none;-webkit-mask-image:none}.entity-type-dot.svelte-6dohdz{width:6px;height:6px;border-radius:3px;flex-shrink:0;margin-right:2px}.new-entity-row{color:var(--color-text-tertiary);align-items:center}.new-entity-row:hover{color:var(--color-text-secondary)}.entity-row-wrapper.svelte-6dohdz{position:relative;display:flex;align-items:center}.entity-row-wrapper.svelte-6dohdz .tree-row{flex:1;min-width:0}.entity-row-wrapper.svelte-6dohdz .entity-actions-btn{display:none;width:28px;height:28px;position:absolute;right:12px;flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;color:var(--color-text-tertiary);border-radius:4px;align-items:center;justify-content:center}.entity-row-wrapper.svelte-6dohdz .entity-actions-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.entity-row-wrapper.svelte-6dohdz:hover .tree-row,.entity-row-wrapper.svelte-6dohdz:has(.entity-actions-btn.menu-open) .tree-row{background:var(--color-bg-hover)}.entity-row-wrapper.svelte-6dohdz:hover .entity-actions-btn,.entity-row-wrapper.svelte-6dohdz .entity-actions-btn.menu-open{display:inline-flex}.entity-type-dot.svelte-6dohdz{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-right:19px;align-self:center}.presence-avatar.svelte-6dohdz{width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:600;color:#fff;background:var(--color-accent);display:flex;align-items:center;justify-content:center;margin-left:-3px;border:none;box-sizing:border-box;flex-shrink:0;align-self:center}.presence-avatar.svelte-6dohdz:nth-child(1){z-index:3}.presence-avatar.svelte-6dohdz:nth-child(2){z-index:2}.presence-avatar.svelte-6dohdz:nth-child(3){z-index:1}.unread-dot.svelte-6dohdz{width:6px;height:6px;border-radius:50%;background:var(--color-accent);display:block}.repo-row .repo-rename-input{flex:1;min-width:0;height:100%;padding:0 6px;margin:0;border:1px solid var(--color-accent, #e05050);border-radius:3px;font-size:14px;font-weight:600}.repo-row-wrapper.svelte-6dohdz{position:relative;display:flex;align-items:center}.import-description.svelte-6dohdz{font-size:14px;color:var(--color-text-secondary);margin:0 0 16px}.import-modal-body.svelte-6dohdz{padding:0}.import-skipped.svelte-6dohdz{font-size:var(--font-xs);color:var(--color-text-secondary);margin:0 0 8px}.import-file-list.svelte-6dohdz{display:flex;flex-direction:column;max-height:240px;overflow-y:auto}.import-file-row.svelte-6dohdz{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--color-border)}.import-file-icon.svelte-6dohdz{flex-shrink:0;color:var(--color-text-tertiary)}.import-file-info.svelte-6dohdz{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.import-file-name.svelte-6dohdz{font-size:14px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-file-size.svelte-6dohdz{font-size:12px;color:var(--color-text-tertiary)}.import-file-remove.svelte-6dohdz{flex-shrink:0;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.import-file-remove.svelte-6dohdz:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.import-drop-zone.svelte-6dohdz{border:1px solid var(--color-border, #333);border-radius:8px;padding:40px 16px;text-align:center;color:var(--color-text-tertiary);font-size:14px;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:background .15s}.import-drop-zone-active.svelte-6dohdz{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 6%,transparent);color:var(--color-accent)}.import-drop-zone-compact.svelte-6dohdz{min-height:0;padding:14px 16px;border-top:none}.import-hint.svelte-6dohdz{font-size:13px;color:var(--color-text-tertiary);margin:0}.file-picker-link.svelte-6dohdz{background:none;border:none;color:var(--color-accent, #e05050);cursor:pointer;text-decoration:underline;font-size:15px;padding:0}.file-picker-link-sm.svelte-6dohdz{font-size:13px}.repo-row-wrapper.svelte-6dohdz .repo-row{flex:1;min-width:0}.repo-row-wrapper.svelte-6dohdz .repo-actions-btn{display:none;width:28px;height:28px;position:absolute;right:12px;flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;color:var(--color-text-secondary);border-radius:4px;align-items:center;justify-content:center}.repo-row-wrapper.svelte-6dohdz .repo-actions-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.repo-actions-menu{min-width:var(--menu-min-width);padding:4px!important;border-radius:8px!important;background:var(--color-bg-elevated)!important;border:1px solid var(--color-border-strong)!important;box-shadow:0 4px 16px #0003!important;z-index:1000}.repo-menu-item{display:flex!important;align-items:center;gap:8px;min-height:var(--menu-item-height);padding:var(--menu-item-padding)!important;border-radius:var(--menu-item-radius)!important;cursor:pointer;font-size:var(--menu-font-size);color:var(--color-text-secondary)}.repo-menu-item:hover,.repo-menu-item[data-highlighted]{background:var(--color-bg-hover)!important;color:var(--color-text-primary)}.repo-menu-item-danger{color:var(--color-error, #e55)}.share-loading.svelte-6dohdz,.share-empty.svelte-6dohdz{font-size:13px;color:var(--color-text-secondary);margin:8px 0}.share-user-list.svelte-6dohdz{display:flex;flex-direction:column;gap:2px}.share-user-row.svelte-6dohdz{all:unset;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}.share-user-row.svelte-6dohdz:hover{background:var(--color-bg-hover)}.share-user-name.svelte-6dohdz{color:var(--color-text-primary)}.share-user-email.svelte-6dohdz{color:var(--color-text-tertiary);font-size:12px;margin-left:auto}.new-collection-btn,.new-collection-btn .row-chevron.svelte-6dohdz{color:var(--color-text-tertiary)}.new-collection-btn:hover{color:var(--color-text-secondary)}@keyframes svelte-6dohdz-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.sidebar-footer.svelte-6dohdz{display:flex;align-items:center;height:var(--row-height);padding:0 12px 0 27px;border-top:1px solid var(--color-border);flex-shrink:0;gap:8px;margin-top:auto}.user-name.svelte-6dohdz{flex:1;font-size:14px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer.svelte-6dohdz .footer-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;background:none;border:none;flex-shrink:0}.sidebar-footer.svelte-6dohdz .footer-icon-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.transfer-header-col.svelte-6dohdz{display:flex;flex-direction:column;gap:4px}.transfer-list.svelte-6dohdz{display:flex;flex-direction:column;gap:2px}.transfer-list-item.svelte-6dohdz{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border-radius:6px;color:var(--color-text);font-size:13px;cursor:pointer}.transfer-list-item.svelte-6dohdz:hover{background:var(--color-bg-hover)}.entity-floating-tooltip.svelte-6dohdz{position:fixed;z-index:1000;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-radius:6px;background:var(--color-bg-elevated);border:1px solid var(--color-border);box-shadow:0 4px 16px #0000004d;pointer-events:none;min-width:120px;max-width:260px}.entity-floating-tooltip.fading.svelte-6dohdz{opacity:0;transition:opacity .12s ease-out}.entity-tooltip-title.svelte-6dohdz{font-size:13px;font-weight:600;color:var(--color-text-primary)}.entity-tooltip-meta.svelte-6dohdz{font-size:13px;color:var(--color-text-tertiary)}.section-add-btn{display:flex!important;align-items:center;justify-content:center;width:24px!important;height:24px!important;border:none!important;background:none!important;color:var(--color-text-secondary);cursor:pointer;border-radius:4px;padding:0!important}.section-add-btn:hover{background:var(--color-bg-hover)!important;color:var(--color-text-primary)}.view-icon-dot.svelte-6dohdz{position:relative;background:none!important;overflow:visible}.view-icon-dot.svelte-6dohdz svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;color:inherit}.no-transition.svelte-6dohdz .tree-row{transition:none!important}.section-row-wrapper.svelte-6dohdz{height:var(--row-height);border-top:1px solid var(--color-border)}.sidebar-scroll.svelte-6dohdz>.section-row-wrapper:where(.svelte-6dohdz):first-child{border-top:none}.section-row-wrapper.svelte-6dohdz .repo-actions-btn{display:inline-flex}.section-name.svelte-6dohdz{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);flex:1;text-align:left}.section-row-wrapper.svelte-6dohdz:hover .repo-row{background:var(--color-bg-hover)}.new-entry-form.svelte-6dohdz{display:flex;flex-direction:column;gap:16px}.new-entry-field.svelte-6dohdz{display:flex;flex-direction:column;gap:6px}.new-entry-label.svelte-6dohdz{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.new-entry-input.svelte-6dohdz{padding:8px 12px;font-family:inherit;font-size:14px;color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;outline:none}.new-entry-input.svelte-6dohdz:focus{border-color:var(--color-accent)}.new-entry-input.svelte-6dohdz::placeholder{color:var(--color-text-tertiary)}.type-dot-item.svelte-6dohdz{display:flex;align-items:center;gap:8px}.type-dot-color.svelte-6dohdz{width:6px;height:6px;border-radius:50%;flex-shrink:0}.app-footer.svelte-1jf7fcf{height:var(--row-height, 44px);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 18px;background:var(--color-bg);border-top:1px solid var(--color-border);font-size:12px;z-index:50}.footer-left.svelte-1jf7fcf{display:flex;align-items:center;gap:0}.theme-toggle.svelte-1jf7fcf{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:4px;transition:color .15s,border-color .15s}.theme-toggle.svelte-1jf7fcf:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}.footer-stat.svelte-1jf7fcf{color:var(--color-text-tertiary);font-size:12px;margin-left:10px}.footer-sep.svelte-1jf7fcf{color:var(--color-text-tertiary);opacity:.5;font-size:12px;margin:0 6px}.footer-link.svelte-1jf7fcf{font-size:12px;color:var(--color-text-tertiary);text-decoration:none}.footer-link.svelte-1jf7fcf:hover{color:var(--color-text-secondary)}.footer-right.svelte-1jf7fcf{display:flex;align-items:center;gap:8px}.collaborator.svelte-1jf7fcf{display:inline-flex;align-items:center;gap:4px}.collaborator-avatar.svelte-1jf7fcf{width:18px;height:18px;border-radius:50%;background:var(--color-accent);color:var(--color-accent-text, #fff);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.collaborator-name.svelte-1jf7fcf{font-size:12px;color:var(--color-text-tertiary)}.footer-center.svelte-1jf7fcf{display:flex;align-items:center;gap:2px}.fmt-btn.svelte-1jf7fcf{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .1s,color .1s}.fmt-btn.svelte-1jf7fcf:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.fmt-sep.svelte-1jf7fcf{width:1px;height:14px;background:var(--color-border);margin:0 3px}.chat-panel.svelte-1xwj6s7{position:relative;flex-shrink:0;display:flex;flex-direction:column;background:var(--color-bg);border-left:1px solid var(--color-border)}.chat-panel.svelte-1xwj6s7 .chat-tab-content{flex:1;min-height:0;display:flex;flex-direction:column}.chat-header.svelte-1xwj6s7{height:var(--row-height);display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 16px;border-bottom:1px solid var(--color-border);position:relative;flex-shrink:0;gap:8px}.chat-panel.svelte-1xwj6s7 .chat-tabs-list{display:flex;align-items:center;background:transparent;padding:0;border-radius:0;gap:4px}.chat-panel.svelte-1xwj6s7 .chat-tab{display:inline-flex;align-items:center;gap:6px;height:var(--btn-height, 28px);padding:0 12px;border:none;border-radius:6px;background:transparent;cursor:pointer;white-space:nowrap;color:var(--color-text-secondary);font-size:13px;font-weight:400;box-shadow:none;transition:background .1s,color .1s}.chat-panel.svelte-1xwj6s7 .chat-tab:hover{background:var(--color-bg-hover)}.chat-panel.svelte-1xwj6s7 .chat-tab[data-state=active]{background:var(--color-accent);color:#fff;font-weight:500}.chat-tab-unread-dot.svelte-1xwj6s7{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-accent, #3b82f6)}.chat-tab-placeholder.svelte-1xwj6s7{flex:1;display:flex;align-items:center;justify-content:center;padding:0 16px;color:var(--color-text-tertiary);font-size:14px}.chat-header-right.svelte-1xwj6s7{display:flex;align-items:center;gap:2px;margin-left:auto}.chat-messages.svelte-1xwj6s7{flex:1;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;gap:16px}.empty-state.svelte-1xwj6s7{flex:1;display:flex;align-items:center;justify-content:center;padding:0 16px;color:var(--color-text-tertiary);font-size:14px}.seed-prompts.svelte-1xwj6s7{display:flex;flex-direction:column;gap:8px;width:100%}.seed-prompts.svelte-1xwj6s7 .seed-prompt{font-size:14px;line-height:20px;padding:9px 13px;min-height:var(--row-height);height:auto;width:100%;border-radius:8px;color:var(--color-text-secondary);background:var(--color-bg-secondary, rgba(128, 128, 128, .06));text-align:left;white-space:normal;justify-content:flex-start}.seed-prompts.svelte-1xwj6s7 .seed-prompt:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.follow-up-prompts.svelte-1xwj6s7{display:flex;flex-direction:column;gap:8px;padding:0 16px;width:100%}.follow-up-prompts.svelte-1xwj6s7 .seed-prompt{font-size:14px;line-height:20px;padding:9px 13px;min-height:var(--row-height);height:auto;border-radius:8px;color:var(--color-text-secondary);background:var(--color-bg-secondary, rgba(128, 128, 128, .06));text-align:left;white-space:normal;justify-content:flex-start}.follow-up-prompts.svelte-1xwj6s7 .seed-prompt:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.message-group.svelte-1xwj6s7{display:flex;flex-direction:column;gap:16px;padding:0 16px}.user-bubble.svelte-1xwj6s7{background:var(--color-bg-surface);border-radius:8px;padding:12px 14px;font-size:14px;line-height:22px;color:var(--color-text-primary)}.agent-content.svelte-1xwj6s7{display:flex;flex-direction:column;gap:14px;position:relative}.msg-actions.svelte-1xwj6s7{display:flex;gap:2px;align-self:flex-start}.copy-btn.svelte-1xwj6s7{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:4px;border-radius:4px;align-self:flex-start}.copy-btn.svelte-1xwj6s7:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.tool-calls.svelte-1xwj6s7{display:flex;flex-direction:column;gap:4px}.tool-call.svelte-1xwj6s7{font-family:var(--font-mono);font-size:12px;color:var(--color-accent)}.agent-text.svelte-1xwj6s7{font-size:14px;line-height:22px;color:var(--color-text-primary)}.prose.svelte-1xwj6s7 h1{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:24px 0 12px}.prose.svelte-1xwj6s7 h2{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:22px 0 10px}.prose.svelte-1xwj6s7 h3{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:20px 0 8px}.prose.svelte-1xwj6s7 p{margin:0 0 14px}.prose.svelte-1xwj6s7 p:last-child{margin-bottom:0}.prose.svelte-1xwj6s7 strong{font-weight:600}.prose.svelte-1xwj6s7 ul,.prose.svelte-1xwj6s7 ol{padding-left:20px;margin:0 0 14px;color:var(--color-text-primary)}.prose.svelte-1xwj6s7 li ul,.prose.svelte-1xwj6s7 li ol{margin:4px 0 0}.prose.svelte-1xwj6s7 ul{list-style-type:disc}.prose.svelte-1xwj6s7 ol{list-style-type:decimal}.prose.svelte-1xwj6s7 li{margin-bottom:6px}.prose.svelte-1xwj6s7 table{width:100%;border-collapse:collapse;font-size:13px;margin:16px 0}.prose.svelte-1xwj6s7 th,.prose.svelte-1xwj6s7 td{border:1px solid var(--color-border);padding:4px 8px;text-align:left;vertical-align:top}.prose.svelte-1xwj6s7 th{font-weight:600}.prose.svelte-1xwj6s7 pre{background:var(--color-bg-surface);border-radius:6px;padding:10px 12px;overflow-x:auto;margin:16px 0;font-family:var(--font-mono);font-size:13px;line-height:18px}.prose.svelte-1xwj6s7 code{font-family:var(--font-mono);font-size:13px;background:var(--color-bg-surface);padding:1px 4px;border-radius:3px}.prose.svelte-1xwj6s7 pre code{background:none;padding:0}.prose.svelte-1xwj6s7 a{color:var(--color-link);text-decoration:none}.prose.svelte-1xwj6s7 a:hover{text-decoration:underline}.prose.svelte-1xwj6s7 blockquote{border-left:3px solid var(--color-accent);padding-left:12px;margin:16px 0;color:var(--color-text-secondary)}.prose.svelte-1xwj6s7 hr{border:none;border-top:1px solid var(--color-border);margin:24px 0}.streaming-dot.svelte-1xwj6s7{display:inline-block;width:8px;height:8px;background:var(--color-accent);border-radius:4px;animation:svelte-1xwj6s7-pulse 1s ease-in-out infinite}@keyframes svelte-1xwj6s7-pulse{0%,to{opacity:.3}50%{opacity:1}}.context-chip.svelte-1xwj6s7{font-size:12px;color:var(--color-text-tertiary);padding:0 2px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scroll-to-bottom-wrapper.svelte-1xwj6s7{display:flex;justify-content:center;position:relative;height:0;z-index:100}.scroll-to-bottom.svelte-1xwj6s7{position:absolute;bottom:8px;width:28px;height:28px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #00000026}.scroll-to-bottom.svelte-1xwj6s7:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.chat-input-area.svelte-1xwj6s7{padding:12px 16px 16px;position:relative}.text-input.svelte-1xwj6s7{display:flex;align-items:flex-end;min-height:var(--row-height);max-height:140px;padding:0 0 0 13px;background:transparent;border:1px solid var(--color-border);border-radius:8px;transition:border-color .15s}.text-input.svelte-1xwj6s7:focus-within{border-color:var(--color-accent)}.send-btn{color:var(--color-text-tertiary);margin:7px;flex-shrink:0;pointer-events:none}.send-btn.send-active,.stop-btn{pointer-events:auto;color:#fff;background:var(--color-accent);border-radius:6px}.input-field.svelte-1xwj6s7{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:14px;line-height:20px;color:var(--color-text-primary);resize:none;overflow-y:auto;padding:7px 0 11px;max-height:120px;min-height:20px;white-space:pre-wrap;word-wrap:break-word;field-sizing:content}.input-field[data-placeholder].svelte-1xwj6s7:empty:before{content:attr(data-placeholder);color:var(--color-text-tertiary);pointer-events:none}.input-field.svelte-1xwj6s7::placeholder{color:var(--color-text-tertiary)}.input-field.svelte-1xwj6s7:disabled{opacity:.5}.input-field.svelte-1xwj6s7 .cm-mention-input{color:var(--color-accent)}.cm-loading-more.svelte-1xwj6s7{text-align:center;padding:8px 16px;font-size:12px;color:var(--color-text-tertiary)}.cm-message.svelte-1xwj6s7{display:flex;flex-direction:column;gap:2px;padding:8px 16px;background:transparent;transition:background 1.5s ease-out}.cm-highlight{background:var(--color-bg-hover)!important}.cm-meta.svelte-1xwj6s7{display:flex;align-items:center;gap:6px}.cm-meta.svelte-1xwj6s7 .cm-name:where(.svelte-1xwj6s7){align-self:baseline}.cm-avatar.svelte-1xwj6s7{width:18px;height:18px;border-radius:9px;background:var(--color-accent);color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cm-body.svelte-1xwj6s7{display:flex;flex-direction:column;gap:2px;min-width:0;padding-left:24px}.cm-name.svelte-1xwj6s7{font-size:14px;font-weight:600;color:var(--color-text-primary)}.cm-time.svelte-1xwj6s7{font-size:12px;color:var(--color-text-tertiary)}.cm-content.svelte-1xwj6s7{font-size:14px;line-height:22px;color:var(--color-text-primary)}.cm-truncated.svelte-1xwj6s7{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cm-reply-label.svelte-1xwj6s7{font-size:12px;color:var(--color-text-tertiary)}.cm-agent-actions.svelte-1xwj6s7{display:flex;gap:12px;align-items:center}.cm-expand.svelte-1xwj6s7{background:none;border:none;color:var(--color-accent);font-size:12px;cursor:pointer;padding:2px 0}.cm-expand.svelte-1xwj6s7:hover{text-decoration:underline}.cm-reply-btn.svelte-1xwj6s7{background:none;border:none;color:var(--color-text-tertiary);font-size:12px;cursor:pointer;padding:2px 0}.cm-reply-btn.svelte-1xwj6s7:hover{color:var(--color-accent)}.cm-suggestion-prompts.svelte-1xwj6s7{display:flex;flex-direction:column;gap:8px;width:100%}.cm-suggestion-prompts.svelte-1xwj6s7 .seed-prompt{font-size:14px;line-height:20px;padding:9px 13px;min-height:var(--row-height);height:auto;border-radius:8px;color:var(--color-text-secondary);background:var(--color-bg-secondary, rgba(128, 128, 128, .06));text-align:left;white-space:normal;justify-content:flex-start}.cm-suggestion-prompts.svelte-1xwj6s7 .seed-prompt:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.cm-suggestion-busy.svelte-1xwj6s7,.cm-suggestion-done.svelte-1xwj6s7{font-size:14px;line-height:20px;padding:9px 13px;min-height:var(--row-height);height:auto;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-tertiary);text-align:left;white-space:normal}.cm-suggestion-done.svelte-1xwj6s7 a:where(.svelte-1xwj6s7){color:var(--color-link);text-decoration:none}.cm-suggestion-done.svelte-1xwj6s7 a:where(.svelte-1xwj6s7):hover{text-decoration:underline}.cm-ellipsis.svelte-1xwj6s7:after{content:"";animation:svelte-1xwj6s7-ellipsis 1.5s steps(4,end) infinite}@keyframes svelte-1xwj6s7-ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.cm-content.svelte-1xwj6s7 .cm-mention{color:var(--color-accent);font-weight:400}.reply-chip.svelte-1xwj6s7{display:flex;align-items:center;gap:6px;padding:4px 8px;margin-bottom:6px;background:var(--color-bg-surface);border-radius:6px;font-size:12px;color:var(--color-accent);font-weight:500}.reply-chip-close.svelte-1xwj6s7{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:0;border-radius:3px}.reply-chip-close.svelte-1xwj6s7:hover{color:var(--color-text-primary)}.at-popup.svelte-1xwj6s7{position:absolute;bottom:100%;left:16px;margin-bottom:4px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 2px 8px #0000001f;padding:4px;z-index:10}.at-popup-item.svelte-1xwj6s7{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:5px;cursor:pointer;font-size:13px;color:var(--color-text-primary)}.at-popup-item.svelte-1xwj6s7:hover,.at-popup-selected.svelte-1xwj6s7{background:var(--color-bg-hover)}.at-popup-avatar.svelte-1xwj6s7{width:18px;height:18px;font-size:9px}.at-popup-hint.svelte-1xwj6s7{margin-left:auto;font-size:11px;color:var(--color-text-tertiary);background:var(--color-bg-surface);padding:1px 5px;border-radius:3px}.modal-body.svelte-1vpgrso{padding:8px 32px 28px;overflow-y:auto;max-height:calc(85vh - 40px);display:flex;flex-direction:column;gap:24px}.modal-title.svelte-1vpgrso{font-size:20px;font-weight:400;color:var(--color-text-primary);margin:0 0 24px;letter-spacing:-.01em;line-height:1.2}.section.svelte-1vpgrso{display:flex;flex-direction:column;gap:12px}.section-label.svelte-1vpgrso{font-size:14px;font-weight:500;color:var(--color-text-primary);margin:0}.color-grid.svelte-1vpgrso{display:flex;gap:6px;flex-wrap:wrap}.color-grid.saving.svelte-1vpgrso{opacity:.5;pointer-events:none}.color-swatch.svelte-1vpgrso{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s}.color-swatch.svelte-1vpgrso:hover{transform:scale(1.15)}.color-swatch.active.svelte-1vpgrso{border-color:var(--color-text-primary)}.fields.svelte-1vpgrso{display:flex;flex-direction:column;gap:16px}.field.svelte-1vpgrso{display:flex;flex-direction:column;gap:8px}.password-wrapper.svelte-1vpgrso{position:relative}.pw-toggle.svelte-1vpgrso{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);padding:4px;display:flex}.pw-toggle.svelte-1vpgrso:hover{color:var(--color-text-secondary)}.save-row.svelte-1vpgrso{display:flex;justify-content:flex-end;padding-top:8px}.error-msg.svelte-1vpgrso{font-size:14px;color:var(--color-error, #e55)}.meeting-settings.svelte-67gzoi{padding:24px 32px}.panel-title.svelte-67gzoi{font-size:18px;font-weight:600;margin-bottom:8px}.panel-description.svelte-67gzoi{font-size:14px;color:var(--color-text-secondary);margin-bottom:24px;line-height:1.5}.setting-group.svelte-67gzoi{margin-bottom:20px}.setting-help.svelte-67gzoi{font-size:13px;color:var(--color-text-tertiary);margin-top:4px}.setting-help.svelte-67gzoi a:where(.svelte-67gzoi){color:var(--color-accent)}.select-input.svelte-67gzoi{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-primary);font-size:14px;font-family:inherit;outline:none;margin-top:4px}.select-input.svelte-67gzoi:focus{border-color:var(--color-border-strong)}.error-text.svelte-67gzoi{color:#ef4444;font-size:13px;margin-bottom:12px}.loading-text.svelte-67gzoi{color:var(--color-text-tertiary);font-size:14px}.save-row.svelte-67gzoi{margin-top:24px}.split-layout.svelte-1pdwh4i{display:flex;height:520px;max-height:calc(100vh - 160px)}.settings-sidebar.svelte-1pdwh4i{width:210px;flex-shrink:0;border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:20px 0}.sidebar-header.svelte-1pdwh4i{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);padding:0 20px 12px}.sidebar-nav.svelte-1pdwh4i{display:flex;flex-direction:column;gap:2px;padding:0 8px}.sidebar-nav.svelte-1pdwh4i .nav-item{display:flex;align-items:center;gap:10px;padding:0 12px;height:var(--row-height, 44px);border-radius:8px;font-size:14px;color:var(--color-text-secondary);text-align:left;width:100%;justify-content:flex-start}.sidebar-nav.svelte-1pdwh4i .nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-nav.svelte-1pdwh4i .nav-item.active{background:var(--color-bg-selected);color:var(--color-text-primary);font-weight:600}.settings-main.svelte-1pdwh4i{flex:1;min-width:0;display:flex;flex-direction:column}.panel-title.svelte-1pdwh4i{font-size:20px;font-weight:400;color:var(--color-text-primary);margin:0 0 24px;letter-spacing:-.01em;line-height:1.2}.mcp-layout.svelte-1pdwh4i .panel-title:where(.svelte-1pdwh4i){margin-bottom:0}.hint.svelte-1pdwh4i{font-size:14px;color:var(--color-text-tertiary);margin:0}.error-msg.svelte-1pdwh4i{font-size:14px;color:var(--color-error, #e55)}.card.svelte-1pdwh4i{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;padding:14px 16px;transition:border-color .15s}.card-row.svelte-1pdwh4i{display:flex;align-items:center;gap:14px}.card-title.svelte-1pdwh4i{font-size:14px;font-weight:600;color:var(--color-text-primary)}.confirm-hint.svelte-1pdwh4i{font-size:13px;color:var(--color-text-tertiary);flex:1}.mcp-layout.svelte-1pdwh4i{display:flex;flex-direction:column;gap:24px}.credential-field.svelte-1pdwh4i{display:flex;flex-direction:column;gap:8px}.credential-label.svelte-1pdwh4i{font-size:14px;font-weight:500;color:var(--color-text-primary)}.credential-header.svelte-1pdwh4i{display:flex;align-items:center;gap:8px}.input-with-copy.svelte-1pdwh4i{position:relative}.copy-overlay.svelte-1pdwh4i{position:absolute;right:1px;top:1px;bottom:1px;background:linear-gradient(to right,transparent,var(--color-bg) 40%);border:none;cursor:pointer;padding:0 10px 0 24px;color:var(--color-text-tertiary);display:flex;align-items:center;transition:color .15s;border-radius:0 6px 6px 0}.copy-overlay.svelte-1pdwh4i:hover{color:var(--color-text-primary)}.mono-input{font-family:var(--font-mono, monospace)!important;font-size:13px!important}.raw-config.svelte-1pdwh4i{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.textarea-with-copy.svelte-1pdwh4i{position:relative;align-self:stretch}.copy-overlay-top.svelte-1pdwh4i{position:absolute;right:1px;top:1px;background:linear-gradient(to right,transparent,var(--color-bg) 40%);border:none;cursor:pointer;padding:8px 10px 8px 24px;color:var(--color-text-tertiary);display:flex;align-items:center;transition:color .15s;border-radius:0 6px 0 0}.copy-overlay-top.svelte-1pdwh4i:hover{color:var(--color-text-primary)}.mcp-config-textarea{font-family:var(--font-mono, ui-monospace, monospace)!important;font-size:13px!important}.connector-list.svelte-1pdwh4i{display:flex;flex-direction:column;gap:8px}.card-actions.svelte-1pdwh4i{display:flex;align-items:center;gap:4px}.connected-label.svelte-1pdwh4i{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--color-success, #4ade80);background:none;border:none;font-family:inherit;cursor:default;padding:0}button.connected-label.svelte-1pdwh4i{cursor:pointer}button.connected-label.svelte-1pdwh4i:hover{opacity:.7}.confirm-row.svelte-1pdwh4i{display:flex;align-items:center;gap:8px;background:#e5555514}.confirm-text.svelte-1pdwh4i{font-size:14px;color:var(--color-text-primary);flex:1}.edit-form.svelte-1pdwh4i{display:flex;flex-direction:column;gap:8px;padding:12px 0}.add-form.svelte-1pdwh4i{display:flex;flex-direction:column;gap:20px;padding:20px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:10px;margin-top:12px}.field.svelte-1pdwh4i{display:flex;flex-direction:column;gap:8px}.add-form.svelte-1pdwh4i label{font-size:14px}.form-actions.svelte-1pdwh4i{display:flex;justify-content:flex-end;gap:8px}.add-server-btn.svelte-1pdwh4i{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;margin-top:8px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);font-size:13px;font-weight:550;font-family:inherit;cursor:pointer;transition:all .15s}.add-server-btn.svelte-1pdwh4i:hover{background:var(--color-bg-hover)}.split-layout.svelte-1hdlfew{display:flex;height:560px;max-height:calc(100vh - 160px)}.settings-sidebar.svelte-1hdlfew{width:210px;flex-shrink:0;border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:20px 0}.sidebar-header.svelte-1hdlfew{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);padding:0 20px 12px}.sidebar-nav.svelte-1hdlfew{display:flex;flex-direction:column;gap:2px;padding:0 8px}.sidebar-nav.svelte-1hdlfew .nav-item{display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:8px;font-size:14px;color:var(--color-text-secondary);text-align:left;width:100%;justify-content:flex-start;height:var(--row-height, 44px)}.sidebar-nav.svelte-1hdlfew .nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-nav.svelte-1hdlfew .nav-item.active{background:var(--color-bg-selected);color:var(--color-text-primary);font-weight:600}.settings-main.svelte-1hdlfew{flex:1;min-width:0;display:flex;flex-direction:column}.panel-title.svelte-1hdlfew{font-size:20px;font-weight:400;color:var(--color-text-primary);margin:0 0 24px;letter-spacing:-.01em;line-height:1.2}.hint.svelte-1hdlfew{font-size:14px;color:var(--color-text-tertiary);margin:0}.error-msg.svelte-1hdlfew{font-size:14px;color:var(--color-error, #e55)}.fields.svelte-1hdlfew{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.field.svelte-1hdlfew{display:flex;flex-direction:column;gap:6px}.form-actions.svelte-1hdlfew{display:flex;justify-content:flex-end;gap:8px}.save-row.svelte-1hdlfew{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.search-wrapper.svelte-1hdlfew{position:relative;margin-bottom:8px;color:var(--color-text-tertiary)}.search-wrapper.svelte-1hdlfew svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none}.search-input.svelte-1hdlfew{width:100%;padding:10px 13px 10px 36px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:9px;font-size:14px;color:var(--color-text-primary);font-family:inherit;outline:none;transition:border-color .15s}.search-input.svelte-1hdlfew::placeholder{color:var(--color-text-tertiary)}.search-input.svelte-1hdlfew:focus{border-color:var(--color-accent)}.card.svelte-1hdlfew{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:14px;transition:border-color .15s}.card-row.svelte-1hdlfew{display:flex;align-items:center;gap:14px}.card-text.svelte-1hdlfew{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.card-title.svelte-1hdlfew{font-size:14px;font-weight:600;color:var(--color-text-primary);line-height:1.2}.card-desc.svelte-1hdlfew{font-size:12px;color:var(--color-text-tertiary);line-height:1.2}.member-list.svelte-1hdlfew,.collection-list.svelte-1hdlfew{display:flex;flex-direction:column;gap:8px}.member-card.svelte-1hdlfew{cursor:default}.role-label.svelte-1hdlfew{font-size:12px;font-weight:400;color:var(--color-accent);margin-left:8px}.card-actions.svelte-1hdlfew{display:flex;align-items:center;gap:4px}.user-avatar.svelte-1hdlfew{width:18px;height:18px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-danger:hover{color:var(--color-error, #e55)!important}.collection-group.svelte-1hdlfew{display:flex;flex-direction:column}.collection-group.expanded.svelte-1hdlfew .collection-card:where(.svelte-1hdlfew){border-radius:8px 8px 0 0;border-bottom-color:transparent}.collection-card.svelte-1hdlfew{cursor:pointer;width:100%;text-align:left;font-family:inherit}.collection-card.svelte-1hdlfew:hover{border-color:var(--color-text-tertiary)}.collection-card.selected.svelte-1hdlfew{border-color:var(--color-border)}.collection-chevron.svelte-1hdlfew{color:var(--color-text-tertiary);transition:transform .15s;display:flex;align-items:center;justify-content:center;width:28px;flex-shrink:0}.collection-chevron.rotated.svelte-1hdlfew{transform:rotate(90deg)}.collection-detail.svelte-1hdlfew{padding:16px 14px 16px 44px;border:1px solid var(--color-border);border-top:none;border-radius:0 0 8px 8px;background:var(--color-bg);display:flex;flex-direction:column;gap:24px}.detail-section.svelte-1hdlfew{display:flex;flex-direction:column;gap:8px}.detail-header.svelte-1hdlfew{display:flex;align-items:center;justify-content:space-between;min-height:24px}.section-label-small.svelte-1hdlfew{font-size:14px;font-weight:400;color:var(--color-text-primary)}.detail-member.svelte-1hdlfew{display:flex;align-items:center;gap:10px;height:36px;font-size:14px}.member-name.svelte-1hdlfew{font-size:14px;font-weight:500;color:var(--color-text-primary)}.rename-row.svelte-1hdlfew{position:relative}.rename-save.svelte-1hdlfew{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-tertiary);display:flex;align-items:center;transition:color .15s;border-radius:4px}.rename-save.svelte-1hdlfew:hover{color:var(--color-text-primary)}.delete-col-btn,.done-btn{align-self:flex-end;margin-top:8px}.confirm-row.svelte-1hdlfew{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;background:#e5555514;border-color:#e5555526}.confirm-row.svelte-1hdlfew button:not([class*=destructive]):hover{background:transparent!important;color:var(--color-text-primary)!important;border-color:var(--color-border-strong)!important}.confirm-text.svelte-1hdlfew{font-size:14px;color:var(--color-text-primary);flex:1}.reset-form-card.svelte-1hdlfew{padding:14px 16px}.reset-form.svelte-1hdlfew{display:flex;flex-direction:column;gap:8px}.reset-label.svelte-1hdlfew{font-size:13px;color:var(--color-text-secondary);font-weight:500}.add-btn.svelte-1hdlfew{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;margin-top:8px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);font-size:13px;font-weight:550;font-family:inherit;cursor:pointer;transition:all .15s}.add-btn.svelte-1hdlfew:hover{background:var(--color-bg-hover)}.add-form.svelte-1hdlfew label{font-size:14px}.add-form.svelte-1hdlfew{display:flex;flex-direction:column;gap:20px;padding:20px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:10px;margin-top:8px}.modal-body.svelte-7xzjv8{padding:8px 32px 28px}.close-only-header{justify-content:flex-end;min-height:0;padding:12px 16px 0}.modal-title.svelte-7xzjv8{font-size:20px;font-weight:400;color:var(--color-text-primary);margin:0 0 24px;letter-spacing:-.01em;line-height:1.2}.form.svelte-7xzjv8{display:flex;flex-direction:column;gap:16px}.field.svelte-7xzjv8{display:flex;flex-direction:column;gap:8px}.error-msg.svelte-7xzjv8{font-size:14px;color:var(--color-error, #e55)}.form-footer.svelte-7xzjv8{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.app-frame.svelte-vr1z90{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg)}.app-body.svelte-vr1z90{flex:1;display:flex;min-height:0;overflow:hidden}.main-content.svelte-vr1z90{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
@@ -1 +0,0 @@
1
- .home-input-wrap.svelte-1anss1t{width:100%;max-width:640px}.home-input.svelte-1anss1t{display:grid;grid-template-columns:1fr auto;align-items:end;min-height:var(--row-height);padding:0 0 0 16px;background:transparent;border:1px solid var(--color-border);border-radius:8px;transition:border-color .15s}.home-input.svelte-1anss1t:focus-within{border-color:var(--color-accent)}.home-input-dragover.svelte-1anss1t{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 6%,transparent);grid-template-columns:1fr}.home-drop-indicator.svelte-1anss1t{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 0;min-height:160px;color:var(--color-accent);font-size:14px;font-weight:400;pointer-events:none}.home-input-field.svelte-1anss1t{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:14px;line-height:22px;color:var(--color-text-primary);resize:none;overflow-y:auto;padding:10px 0;min-height:160px;max-height:300px;field-sizing:content}.home-input-field.svelte-1anss1t::placeholder{color:var(--color-text-tertiary)}.home-input-actions.svelte-1anss1t{display:flex;align-items:center;gap:4px;margin:6px}.home-attach-btn{color:var(--color-text-tertiary);flex-shrink:0;border-radius:6px}.home-attach-btn:hover{color:var(--color-text-secondary)}.home-send-btn{color:var(--color-text-tertiary);flex-shrink:0;pointer-events:none}.home-send-btn.home-send-active{pointer-events:auto;color:#fff;background:var(--color-accent);border-radius:6px}.tasks-section.svelte-q21uam{width:100%}.tasks-header.svelte-q21uam{display:flex;align-items:center;gap:8px;margin-bottom:12px}.tasks-title.svelte-q21uam{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.tasks-count.svelte-q21uam{font-size:12px;color:var(--color-text-tertiary)}.tasks-list.svelte-q21uam{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);overflow:hidden}.task-row.svelte-q21uam{display:flex;align-items:center;gap:10px;padding:10px 12px}.task-row.svelte-q21uam+.task-row:where(.svelte-q21uam){border-top:1px solid var(--color-border)}.task-name.svelte-q21uam{all:unset;flex:1;font-size:14px;color:var(--color-text-primary);cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-name.svelte-q21uam:hover{color:var(--color-accent)}.task-due.svelte-q21uam{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.task-due.overdue.svelte-q21uam{color:var(--color-danger, #e05050)}.meetings-section.svelte-1q98wxk{width:100%}.meetings-header.svelte-1q98wxk{display:flex;align-items:center;gap:8px;margin-bottom:12px}.meetings-title.svelte-1q98wxk{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.meetings-list.svelte-1q98wxk{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);overflow:hidden}.meeting-row.svelte-1q98wxk{all:unset;display:flex;align-items:center;gap:10px;padding:10px 12px;width:100%;box-sizing:border-box;cursor:pointer}.meeting-row.svelte-1q98wxk+.meeting-row:where(.svelte-1q98wxk){border-top:1px solid var(--color-border)}.meeting-row.svelte-1q98wxk:hover{background:var(--color-bg-hover)}.meeting-time.svelte-1q98wxk{font-size:13px;color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0;min-width:64px}.meeting-name.svelte-1q98wxk{font-size:14px;color:var(--color-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meeting-attendees.svelte-1q98wxk{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;max-width:200px;flex-shrink:0}.meeting-attendees.svelte-1q98wxk.is-overflowing{mask-image:linear-gradient(to right,black calc(100% - 30px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - 30px),transparent 100%)}.home.svelte-h7bcrl{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;container-type:inline-size;position:relative}.home-flow.svelte-h7bcrl{display:flex;flex-direction:column;gap:36px;max-width:640px;margin:0 auto;padding:48px 24px;width:100%;box-sizing:border-box}.section-greeting.svelte-h7bcrl{margin:0}.greeting.svelte-h7bcrl{font-size:28px;font-weight:400;color:var(--color-text-primary);letter-spacing:-.01em;line-height:1.2;margin:0}@container (max-width: 700px){.greeting.svelte-h7bcrl{font-size:24px}}.section-label.svelte-h7bcrl{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin:0}.section-capture.svelte-h7bcrl{display:flex;flex-direction:column;gap:8px}.capture-meta.svelte-h7bcrl{display:flex;align-items:center}.filetypes-link{all:unset;font-size:12px;color:var(--color-text-tertiary);cursor:pointer}.filetypes-link:hover{color:var(--color-text-secondary)}.filetypes-popover{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;padding:12px 16px;z-index:100}.filetypes-list.svelte-h7bcrl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px}.filetype-item.svelte-h7bcrl{font-family:var(--font-mono, monospace);color:var(--color-text-primary)}.filetype-label.svelte-h7bcrl{color:var(--color-text-secondary)}.animate-spin{display:inline-block;transform:scaleX(-1);animation:svelte-h7bcrl-spin 1s linear infinite}@keyframes svelte-h7bcrl-spin{0%{transform:scaleX(-1) rotate(0)}to{transform:scaleX(-1) rotate(-360deg)}}.capture-loading.svelte-h7bcrl{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:var(--color-text-tertiary)}.capture-loading.svelte-h7bcrl svg{flex-shrink:0}.capture-confirmation.svelte-h7bcrl{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-surface);max-width:640px;width:100%}.capture-header.svelte-h7bcrl{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.capture-check.svelte-h7bcrl{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.capture-dismiss.svelte-h7bcrl{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:4px}.capture-dismiss.svelte-h7bcrl:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.capture-entity-card.svelte-h7bcrl{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:6px;background:none;cursor:pointer;text-align:left;width:100%}.capture-entity-card.svelte-h7bcrl:hover{background:var(--color-bg-hover)}.capture-entity-dot.svelte-h7bcrl{width:8px;height:8px;border-radius:50%;flex-shrink:0}.capture-entity-name.svelte-h7bcrl{flex:1;font-size:13px;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capture-entity-type.svelte-h7bcrl{font-size:12px;color:var(--color-text-tertiary);flex-shrink:0}.capture-entity-card.svelte-h7bcrl svg{color:var(--color-text-tertiary);flex-shrink:0}