studiograph 1.3.48-next.21 → 1.3.48-next.211

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 (966) hide show
  1. package/README.md +26 -16
  2. package/dist/agent/agent-pool.d.ts +87 -3
  3. package/dist/agent/agent-pool.js +188 -15
  4. package/dist/agent/agent-pool.js.map +1 -1
  5. package/dist/agent/followups.d.ts +34 -0
  6. package/dist/agent/followups.js +52 -0
  7. package/dist/agent/followups.js.map +1 -0
  8. package/dist/agent/orchestrator.d.ts +101 -4
  9. package/dist/agent/orchestrator.js +464 -66
  10. package/dist/agent/orchestrator.js.map +1 -1
  11. package/dist/agent/prompts/entity-types-section.d.ts +34 -0
  12. package/dist/agent/prompts/entity-types-section.js +76 -0
  13. package/dist/agent/prompts/entity-types-section.js.map +1 -0
  14. package/dist/agent/prompts/system.md +112 -54
  15. package/dist/agent/skill-loader.d.ts +30 -17
  16. package/dist/agent/skill-loader.js +63 -30
  17. package/dist/agent/skill-loader.js.map +1 -1
  18. package/dist/agent/skills/artifact-canvas/skill.md +152 -0
  19. package/dist/agent/skills/entity-schema.md +75 -431
  20. package/dist/agent/skills/interview/entity-templates.md +38 -37
  21. package/dist/agent/skills/interview/question-domains.md +54 -49
  22. package/dist/agent/skills/interview/skill.md +84 -16
  23. package/dist/agent/skills/schema-rules.md +28 -28
  24. package/dist/agent/tools/artifact-tools.d.ts +124 -0
  25. package/dist/agent/tools/artifact-tools.js +207 -0
  26. package/dist/agent/tools/artifact-tools.js.map +1 -0
  27. package/dist/agent/tools/capture-tools.d.ts +31 -0
  28. package/dist/agent/tools/capture-tools.js +40 -0
  29. package/dist/agent/tools/capture-tools.js.map +1 -0
  30. package/dist/agent/tools/folder-tools.d.ts +47 -0
  31. package/dist/agent/tools/folder-tools.js +249 -0
  32. package/dist/agent/tools/folder-tools.js.map +1 -0
  33. package/dist/agent/tools/fs-tools.d.ts +6 -5
  34. package/dist/agent/tools/fs-tools.js +5 -5
  35. package/dist/agent/tools/fs-tools.js.map +1 -1
  36. package/dist/agent/tools/graph-tools.d.ts +48 -72
  37. package/dist/agent/tools/graph-tools.js +852 -329
  38. package/dist/agent/tools/graph-tools.js.map +1 -1
  39. package/dist/agent/tools/history-tools.d.ts +95 -0
  40. package/dist/agent/tools/history-tools.js +461 -0
  41. package/dist/agent/tools/history-tools.js.map +1 -0
  42. package/dist/agent/tools/load-skill.d.ts +6 -5
  43. package/dist/agent/tools/load-skill.js +3 -3
  44. package/dist/agent/tools/load-skill.js.map +1 -1
  45. package/dist/agent/tools/ops-tools.d.ts +5 -4
  46. package/dist/agent/tools/ops-tools.js +130 -236
  47. package/dist/agent/tools/ops-tools.js.map +1 -1
  48. package/dist/agent/tools/permission-tools.d.ts +87 -17
  49. package/dist/agent/tools/permission-tools.js +233 -43
  50. package/dist/agent/tools/permission-tools.js.map +1 -1
  51. package/dist/agent/tools/tool-loader.js +5 -4
  52. package/dist/agent/tools/tool-loader.js.map +1 -1
  53. package/dist/agent/tools/web-tools.js +58 -9
  54. package/dist/agent/tools/web-tools.js.map +1 -1
  55. package/dist/cli/commands/about.d.ts +1 -0
  56. package/dist/cli/commands/about.js +55 -3
  57. package/dist/cli/commands/about.js.map +1 -1
  58. package/dist/cli/commands/admin/audit-workspace.d.ts +23 -0
  59. package/dist/cli/commands/admin/audit-workspace.js +133 -0
  60. package/dist/cli/commands/admin/audit-workspace.js.map +1 -0
  61. package/dist/cli/commands/admin/audit.d.ts +21 -0
  62. package/dist/cli/commands/admin/audit.js +174 -0
  63. package/dist/cli/commands/admin/audit.js.map +1 -0
  64. package/dist/cli/commands/admin/backup.d.ts +54 -0
  65. package/dist/cli/commands/admin/backup.js +207 -0
  66. package/dist/cli/commands/admin/backup.js.map +1 -0
  67. package/dist/cli/commands/admin/folder.d.ts +11 -0
  68. package/dist/cli/commands/{collection.js → admin/folder.js} +33 -32
  69. package/dist/cli/commands/admin/folder.js.map +1 -0
  70. package/dist/cli/commands/admin/index.d.ts +16 -0
  71. package/dist/cli/commands/admin/index.js +46 -0
  72. package/dist/cli/commands/admin/index.js.map +1 -0
  73. package/dist/cli/commands/admin/migrate-assets.d.ts +53 -0
  74. package/dist/cli/commands/admin/migrate-assets.js +184 -0
  75. package/dist/cli/commands/admin/migrate-assets.js.map +1 -0
  76. package/dist/cli/commands/admin/migrate.d.ts +56 -0
  77. package/dist/cli/commands/admin/migrate.js +263 -0
  78. package/dist/cli/commands/admin/migrate.js.map +1 -0
  79. package/dist/cli/commands/admin/restore.d.ts +24 -0
  80. package/dist/cli/commands/admin/restore.js +228 -0
  81. package/dist/cli/commands/admin/restore.js.map +1 -0
  82. package/dist/cli/commands/admin/secrets.d.ts +23 -0
  83. package/dist/cli/commands/admin/secrets.js +256 -0
  84. package/dist/cli/commands/admin/secrets.js.map +1 -0
  85. package/dist/cli/commands/admin/settings.d.ts +28 -0
  86. package/dist/cli/commands/admin/settings.js +284 -0
  87. package/dist/cli/commands/admin/settings.js.map +1 -0
  88. package/dist/cli/commands/admin/token.d.ts +42 -0
  89. package/dist/cli/commands/admin/token.js +126 -0
  90. package/dist/cli/commands/admin/token.js.map +1 -0
  91. package/dist/cli/commands/admin/transfer-ownership.d.ts +15 -0
  92. package/dist/cli/commands/admin/transfer-ownership.js +106 -0
  93. package/dist/cli/commands/admin/transfer-ownership.js.map +1 -0
  94. package/dist/cli/commands/admin/user.d.ts +11 -0
  95. package/dist/cli/commands/admin/user.js +187 -0
  96. package/dist/cli/commands/admin/user.js.map +1 -0
  97. package/dist/cli/commands/clone.d.ts +25 -3
  98. package/dist/cli/commands/clone.js +142 -36
  99. package/dist/cli/commands/clone.js.map +1 -1
  100. package/dist/cli/commands/config.d.ts +23 -107
  101. package/dist/cli/commands/config.js +52 -260
  102. package/dist/cli/commands/config.js.map +1 -1
  103. package/dist/cli/commands/connector.d.ts +10 -13
  104. package/dist/cli/commands/connector.js +16 -58
  105. package/dist/cli/commands/connector.js.map +1 -1
  106. package/dist/cli/commands/deploy.js +215 -68
  107. package/dist/cli/commands/deploy.js.map +1 -1
  108. package/dist/cli/commands/index.js +5 -1
  109. package/dist/cli/commands/index.js.map +1 -1
  110. package/dist/cli/commands/init.js +10 -30
  111. package/dist/cli/commands/init.js.map +1 -1
  112. package/dist/cli/commands/mcp.js +54 -6
  113. package/dist/cli/commands/mcp.js.map +1 -1
  114. package/dist/cli/commands/r2.d.ts +3 -0
  115. package/dist/cli/commands/r2.js +223 -204
  116. package/dist/cli/commands/r2.js.map +1 -1
  117. package/dist/cli/commands/redeploy.js +65 -12
  118. package/dist/cli/commands/redeploy.js.map +1 -1
  119. package/dist/cli/commands/reset.d.ts +22 -6
  120. package/dist/cli/commands/reset.js +132 -34
  121. package/dist/cli/commands/reset.js.map +1 -1
  122. package/dist/cli/commands/serve.js +231 -26
  123. package/dist/cli/commands/serve.js.map +1 -1
  124. package/dist/cli/commands/sync.d.ts +1 -1
  125. package/dist/cli/commands/sync.js +237 -227
  126. package/dist/cli/commands/sync.js.map +1 -1
  127. package/dist/cli/crypto-bundle.d.ts +39 -0
  128. package/dist/cli/crypto-bundle.js +94 -0
  129. package/dist/cli/crypto-bundle.js.map +1 -0
  130. package/dist/cli/index.js +24 -26
  131. package/dist/cli/index.js.map +1 -1
  132. package/dist/cli/railway-pin.d.ts +68 -0
  133. package/dist/cli/railway-pin.js +96 -0
  134. package/dist/cli/railway-pin.js.map +1 -0
  135. package/dist/cli/railway-provisioning.d.ts +53 -0
  136. package/dist/cli/railway-provisioning.js +85 -0
  137. package/dist/cli/railway-provisioning.js.map +1 -0
  138. package/dist/cli/setup-wizard.d.ts +30 -49
  139. package/dist/cli/setup-wizard.js +39 -40
  140. package/dist/cli/setup-wizard.js.map +1 -1
  141. package/dist/core/accent-palette.d.ts +22 -0
  142. package/dist/core/accent-palette.js +47 -0
  143. package/dist/core/accent-palette.js.map +1 -0
  144. package/dist/core/artifact-asset-urls.d.ts +51 -0
  145. package/dist/core/artifact-asset-urls.js +79 -0
  146. package/dist/core/artifact-asset-urls.js.map +1 -0
  147. package/dist/core/artifact-bundle.d.ts +69 -0
  148. package/dist/core/artifact-bundle.js +305 -0
  149. package/dist/core/artifact-bundle.js.map +1 -0
  150. package/dist/core/artifact-escape.d.ts +5 -0
  151. package/dist/core/artifact-escape.js +26 -0
  152. package/dist/core/artifact-escape.js.map +1 -0
  153. package/dist/core/artifact-export.d.ts +17 -0
  154. package/dist/core/artifact-export.js +529 -0
  155. package/dist/core/artifact-export.js.map +1 -0
  156. package/dist/core/cell-anchor.d.ts +29 -0
  157. package/dist/core/cell-anchor.js +53 -0
  158. package/dist/core/cell-anchor.js.map +1 -0
  159. package/dist/core/comment-anchor.d.ts +41 -0
  160. package/dist/core/comment-anchor.js +147 -0
  161. package/dist/core/comment-anchor.js.map +1 -0
  162. package/dist/core/commit-messages.d.ts +57 -0
  163. package/dist/core/commit-messages.js +85 -0
  164. package/dist/core/commit-messages.js.map +1 -0
  165. package/dist/core/embeds.d.ts +96 -0
  166. package/dist/core/embeds.js +196 -0
  167. package/dist/core/embeds.js.map +1 -0
  168. package/dist/core/entity-body-templates.d.ts +21 -0
  169. package/dist/core/entity-body-templates.js +67 -0
  170. package/dist/core/entity-body-templates.js.map +1 -0
  171. package/dist/core/entity-types-catalog.d.ts +65 -0
  172. package/dist/core/entity-types-catalog.js +142 -0
  173. package/dist/core/entity-types-catalog.js.map +1 -0
  174. package/dist/core/field-library.d.ts +62 -0
  175. package/dist/core/field-library.js +129 -0
  176. package/dist/core/field-library.js.map +1 -0
  177. package/dist/core/folder-paths.d.ts +41 -0
  178. package/dist/core/folder-paths.js +95 -0
  179. package/dist/core/folder-paths.js.map +1 -0
  180. package/dist/core/folder-sidecar.d.ts +36 -0
  181. package/dist/core/folder-sidecar.js +91 -0
  182. package/dist/core/folder-sidecar.js.map +1 -0
  183. package/dist/core/format-registry.d.ts +170 -0
  184. package/dist/core/format-registry.js +412 -0
  185. package/dist/core/format-registry.js.map +1 -0
  186. package/dist/core/graph.d.ts +773 -14
  187. package/dist/core/graph.js +2269 -308
  188. package/dist/core/graph.js.map +1 -1
  189. package/dist/core/history-diff.d.ts +35 -0
  190. package/dist/core/history-diff.js +114 -0
  191. package/dist/core/history-diff.js.map +1 -0
  192. package/dist/core/refs.d.ts +41 -0
  193. package/dist/core/refs.js +80 -0
  194. package/dist/core/refs.js.map +1 -0
  195. package/dist/core/schema-registry.d.ts +66 -0
  196. package/dist/core/schema-registry.js +198 -37
  197. package/dist/core/schema-registry.js.map +1 -1
  198. package/dist/core/schemas/connector.d.ts +67 -0
  199. package/dist/core/schemas/connector.js +100 -0
  200. package/dist/core/schemas/connector.js.map +1 -0
  201. package/dist/core/schemas/workspace.d.ts +122 -0
  202. package/dist/core/schemas/workspace.js +211 -0
  203. package/dist/core/schemas/workspace.js.map +1 -0
  204. package/dist/core/secrets/SecretStore.d.ts +77 -0
  205. package/dist/core/secrets/SecretStore.js +13 -0
  206. package/dist/core/secrets/SecretStore.js.map +1 -0
  207. package/dist/core/secrets/SettingsResolver.d.ts +54 -0
  208. package/dist/core/secrets/SettingsResolver.js +80 -0
  209. package/dist/core/secrets/SettingsResolver.js.map +1 -0
  210. package/dist/core/secrets/SettingsStore.d.ts +30 -0
  211. package/dist/core/secrets/SettingsStore.js +9 -0
  212. package/dist/core/secrets/SettingsStore.js.map +1 -0
  213. package/dist/core/secrets/SqliteEncryptedStore.d.ts +90 -0
  214. package/dist/core/secrets/SqliteEncryptedStore.js +598 -0
  215. package/dist/core/secrets/SqliteEncryptedStore.js.map +1 -0
  216. package/dist/core/secrets/audit.d.ts +36 -0
  217. package/dist/core/secrets/audit.js +60 -0
  218. package/dist/core/secrets/audit.js.map +1 -0
  219. package/dist/core/secrets/auth-db-migration.d.ts +129 -0
  220. package/dist/core/secrets/auth-db-migration.js +653 -0
  221. package/dist/core/secrets/auth-db-migration.js.map +1 -0
  222. package/dist/core/secrets/bundle.d.ts +141 -0
  223. package/dist/core/secrets/bundle.js +435 -0
  224. package/dist/core/secrets/bundle.js.map +1 -0
  225. package/dist/core/secrets/dual-write.d.ts +81 -0
  226. package/dist/core/secrets/dual-write.js +247 -0
  227. package/dist/core/secrets/dual-write.js.map +1 -0
  228. package/dist/core/secrets/encryption.d.ts +44 -0
  229. package/dist/core/secrets/encryption.js +97 -0
  230. package/dist/core/secrets/encryption.js.map +1 -0
  231. package/dist/core/secrets/index.d.ts +49 -0
  232. package/dist/core/secrets/index.js +74 -0
  233. package/dist/core/secrets/index.js.map +1 -0
  234. package/dist/core/secrets/master-key.d.ts +38 -0
  235. package/dist/core/secrets/master-key.js +122 -0
  236. package/dist/core/secrets/master-key.js.map +1 -0
  237. package/dist/core/secrets/probes/anthropic.d.ts +98 -0
  238. package/dist/core/secrets/probes/anthropic.js +300 -0
  239. package/dist/core/secrets/probes/anthropic.js.map +1 -0
  240. package/dist/core/secrets/probes/brave.d.ts +9 -0
  241. package/dist/core/secrets/probes/brave.js +15 -0
  242. package/dist/core/secrets/probes/brave.js.map +1 -0
  243. package/dist/core/secrets/probes/r2.d.ts +15 -0
  244. package/dist/core/secrets/probes/r2.js +14 -0
  245. package/dist/core/secrets/probes/r2.js.map +1 -0
  246. package/dist/core/secrets/probes/tavily.d.ts +18 -0
  247. package/dist/core/secrets/probes/tavily.js +58 -0
  248. package/dist/core/secrets/probes/tavily.js.map +1 -0
  249. package/dist/core/secrets/probes/voyage.d.ts +13 -0
  250. package/dist/core/secrets/probes/voyage.js +52 -0
  251. package/dist/core/secrets/probes/voyage.js.map +1 -0
  252. package/dist/core/secrets/r2-structural-migration.d.ts +39 -0
  253. package/dist/core/secrets/r2-structural-migration.js +109 -0
  254. package/dist/core/secrets/r2-structural-migration.js.map +1 -0
  255. package/dist/core/secrets/read-flip.d.ts +59 -0
  256. package/dist/core/secrets/read-flip.js +87 -0
  257. package/dist/core/secrets/read-flip.js.map +1 -0
  258. package/dist/core/secrets/registry.d.ts +188 -0
  259. package/dist/core/secrets/registry.js +616 -0
  260. package/dist/core/secrets/registry.js.map +1 -0
  261. package/dist/core/types.d.ts +77 -483
  262. package/dist/core/types.js +25 -3
  263. package/dist/core/types.js.map +1 -1
  264. package/dist/core/user-config.d.ts +75 -12
  265. package/dist/core/user-config.js +155 -14
  266. package/dist/core/user-config.js.map +1 -1
  267. package/dist/core/validation.d.ts +786 -1373
  268. package/dist/core/validation.js +458 -147
  269. package/dist/core/validation.js.map +1 -1
  270. package/dist/core/workspace-manager.d.ts +87 -14
  271. package/dist/core/workspace-manager.js +222 -94
  272. package/dist/core/workspace-manager.js.map +1 -1
  273. package/dist/core/workspace.d.ts +19 -5
  274. package/dist/core/workspace.js +67 -39
  275. package/dist/core/workspace.js.map +1 -1
  276. package/dist/mcp/comment-virtual-entity.d.ts +36 -0
  277. package/dist/mcp/comment-virtual-entity.js +71 -0
  278. package/dist/mcp/comment-virtual-entity.js.map +1 -0
  279. package/dist/mcp/connector-manager.d.ts +72 -2
  280. package/dist/mcp/connector-manager.js +211 -32
  281. package/dist/mcp/connector-manager.js.map +1 -1
  282. package/dist/mcp/oauth-provider.d.ts +0 -5
  283. package/dist/mcp/oauth-provider.js +10 -22
  284. package/dist/mcp/oauth-provider.js.map +1 -1
  285. package/dist/mcp/oauth-registry.d.ts +46 -8
  286. package/dist/mcp/oauth-registry.js +52 -13
  287. package/dist/mcp/oauth-registry.js.map +1 -1
  288. package/dist/mcp/server-discovery.d.ts +73 -0
  289. package/dist/mcp/server-discovery.js +164 -0
  290. package/dist/mcp/server-discovery.js.map +1 -0
  291. package/dist/mcp/server.d.ts +24 -3
  292. package/dist/mcp/server.js +53 -10
  293. package/dist/mcp/server.js.map +1 -1
  294. package/dist/mcp/state-signer.d.ts +62 -0
  295. package/dist/mcp/state-signer.js +205 -0
  296. package/dist/mcp/state-signer.js.map +1 -0
  297. package/dist/mcp/stdio-proxy.d.ts +67 -0
  298. package/dist/mcp/stdio-proxy.js +149 -0
  299. package/dist/mcp/stdio-proxy.js.map +1 -0
  300. package/dist/mcp/tools.d.ts +65 -2
  301. package/dist/mcp/tools.js +1772 -124
  302. package/dist/mcp/tools.js.map +1 -1
  303. package/dist/server/__tests__/helpers/graph-api.d.ts +16 -0
  304. package/dist/server/__tests__/helpers/graph-api.js +16 -0
  305. package/dist/server/__tests__/helpers/graph-api.js.map +1 -0
  306. package/dist/server/artifact-asset-mint.d.ts +41 -0
  307. package/dist/server/artifact-asset-mint.js +59 -0
  308. package/dist/server/artifact-asset-mint.js.map +1 -0
  309. package/dist/server/asset-index-queue.d.ts +98 -0
  310. package/dist/server/asset-index-queue.js +193 -0
  311. package/dist/server/asset-index-queue.js.map +1 -0
  312. package/dist/server/body-write-coordinator.d.ts +161 -0
  313. package/dist/server/body-write-coordinator.js +182 -0
  314. package/dist/server/body-write-coordinator.js.map +1 -0
  315. package/dist/server/cloud-billing-flow.d.ts +32 -0
  316. package/dist/server/cloud-billing-flow.js +75 -0
  317. package/dist/server/cloud-billing-flow.js.map +1 -0
  318. package/dist/server/commit-audit.d.ts +26 -0
  319. package/dist/server/commit-audit.js +30 -0
  320. package/dist/server/commit-audit.js.map +1 -0
  321. package/dist/server/index.d.ts +29 -3
  322. package/dist/server/index.js +657 -269
  323. package/dist/server/index.js.map +1 -1
  324. package/dist/server/middleware/sanitize.d.ts +46 -0
  325. package/dist/server/middleware/sanitize.js +182 -0
  326. package/dist/server/middleware/sanitize.js.map +1 -0
  327. package/dist/server/routes/artifact-export-api.d.ts +11 -0
  328. package/dist/server/routes/artifact-export-api.js +159 -0
  329. package/dist/server/routes/artifact-export-api.js.map +1 -0
  330. package/dist/server/routes/asset-api.d.ts +76 -1
  331. package/dist/server/routes/asset-api.js +761 -61
  332. package/dist/server/routes/asset-api.js.map +1 -1
  333. package/dist/server/routes/audit-api.d.ts +24 -0
  334. package/dist/server/routes/audit-api.js +117 -0
  335. package/dist/server/routes/audit-api.js.map +1 -0
  336. package/dist/server/routes/auth-api.js +532 -63
  337. package/dist/server/routes/auth-api.js.map +1 -1
  338. package/dist/server/routes/capture-api.d.ts +10 -3
  339. package/dist/server/routes/capture-api.js +213 -25
  340. package/dist/server/routes/capture-api.js.map +1 -1
  341. package/dist/server/routes/chat-sessions-api.d.ts +13 -0
  342. package/dist/server/routes/chat-sessions-api.js +455 -0
  343. package/dist/server/routes/chat-sessions-api.js.map +1 -0
  344. package/dist/server/routes/chat.d.ts +35 -1
  345. package/dist/server/routes/chat.js +699 -54
  346. package/dist/server/routes/chat.js.map +1 -1
  347. package/dist/server/routes/comments-api.d.ts +15 -0
  348. package/dist/server/routes/comments-api.js +444 -0
  349. package/dist/server/routes/comments-api.js.map +1 -0
  350. package/dist/server/routes/config-api.d.ts +3 -2
  351. package/dist/server/routes/config-api.js +179 -49
  352. package/dist/server/routes/config-api.js.map +1 -1
  353. package/dist/server/routes/connectors-api.js +177 -42
  354. package/dist/server/routes/connectors-api.js.map +1 -1
  355. package/dist/server/routes/event-ingest-api.d.ts +15 -0
  356. package/dist/server/routes/{meeting-ingest-api.js → event-ingest-api.js} +35 -20
  357. package/dist/server/routes/event-ingest-api.js.map +1 -0
  358. package/dist/server/routes/field-library-api.d.ts +28 -0
  359. package/dist/server/routes/field-library-api.js +126 -0
  360. package/dist/server/routes/field-library-api.js.map +1 -0
  361. package/dist/server/routes/git-http.d.ts +2 -2
  362. package/dist/server/routes/git-http.js +86 -39
  363. package/dist/server/routes/git-http.js.map +1 -1
  364. package/dist/server/routes/graph-api-access.d.ts +57 -0
  365. package/dist/server/routes/graph-api-access.js +112 -0
  366. package/dist/server/routes/graph-api-access.js.map +1 -0
  367. package/dist/server/routes/graph-api.d.ts +1 -1
  368. package/dist/server/routes/graph-api.js +1455 -325
  369. package/dist/server/routes/graph-api.js.map +1 -1
  370. package/dist/server/routes/health.d.ts +18 -0
  371. package/dist/server/routes/health.js +74 -0
  372. package/dist/server/routes/health.js.map +1 -0
  373. package/dist/server/routes/import-batch.d.ts +24 -0
  374. package/dist/server/routes/import-batch.js +33 -0
  375. package/dist/server/routes/import-batch.js.map +1 -0
  376. package/dist/server/routes/insights-api.d.ts +9 -2
  377. package/dist/server/routes/insights-api.js +355 -61
  378. package/dist/server/routes/insights-api.js.map +1 -1
  379. package/dist/server/routes/mcp.d.ts +7 -3
  380. package/dist/server/routes/mcp.js +24 -8
  381. package/dist/server/routes/mcp.js.map +1 -1
  382. package/dist/server/routes/oauth-api.d.ts +67 -0
  383. package/dist/server/routes/oauth-api.js +421 -0
  384. package/dist/server/routes/oauth-api.js.map +1 -0
  385. package/dist/server/routes/permissions-api.d.ts +9 -2
  386. package/dist/server/routes/permissions-api.js +87 -31
  387. package/dist/server/routes/permissions-api.js.map +1 -1
  388. package/dist/server/routes/r2-api.d.ts +25 -0
  389. package/dist/server/routes/r2-api.js +276 -0
  390. package/dist/server/routes/r2-api.js.map +1 -0
  391. package/dist/server/routes/secrets-api.d.ts +36 -0
  392. package/dist/server/routes/secrets-api.js +308 -0
  393. package/dist/server/routes/secrets-api.js.map +1 -0
  394. package/dist/server/routes/settings-api.d.ts +29 -0
  395. package/dist/server/routes/settings-api.js +180 -0
  396. package/dist/server/routes/settings-api.js.map +1 -0
  397. package/dist/server/routes/share-api.d.ts +32 -0
  398. package/dist/server/routes/share-api.js +234 -0
  399. package/dist/server/routes/share-api.js.map +1 -0
  400. package/dist/server/routes/views-api.js +51 -0
  401. package/dist/server/routes/views-api.js.map +1 -1
  402. package/dist/server/routes/workspace-api.d.ts +2 -1
  403. package/dist/server/routes/workspace-api.js +142 -23
  404. package/dist/server/routes/workspace-api.js.map +1 -1
  405. package/dist/server/routes/ws.d.ts +3 -2
  406. package/dist/server/routes/ws.js +68 -17
  407. package/dist/server/routes/ws.js.map +1 -1
  408. package/dist/server/session-manager.d.ts +48 -5
  409. package/dist/server/session-manager.js +182 -14
  410. package/dist/server/session-manager.js.map +1 -1
  411. package/dist/server/ws-hub.d.ts +124 -37
  412. package/dist/server/ws-hub.js +0 -0
  413. package/dist/server/ws-hub.js.map +1 -1
  414. package/dist/server/yjs-manager.d.ts +278 -7
  415. package/dist/server/yjs-manager.js +830 -38
  416. package/dist/server/yjs-manager.js.map +1 -1
  417. package/dist/server/yjs-persistence.d.ts +165 -0
  418. package/dist/server/yjs-persistence.js +557 -0
  419. package/dist/server/yjs-persistence.js.map +1 -0
  420. package/dist/server/yjs-text-diff.d.ts +32 -0
  421. package/dist/server/yjs-text-diff.js +61 -0
  422. package/dist/server/yjs-text-diff.js.map +1 -0
  423. package/dist/services/access-control.d.ts +73 -0
  424. package/dist/services/access-control.js +165 -0
  425. package/dist/services/access-control.js.map +1 -0
  426. package/dist/services/artifact-asset-token.d.ts +69 -0
  427. package/dist/services/artifact-asset-token.js +94 -0
  428. package/dist/services/artifact-asset-token.js.map +1 -0
  429. package/dist/services/artifact-library-sources.d.ts +3 -0
  430. package/dist/services/artifact-library-sources.js +44 -0
  431. package/dist/services/artifact-library-sources.js.map +1 -0
  432. package/dist/services/artifact-render-export.d.ts +97 -0
  433. package/dist/services/artifact-render-export.js +467 -0
  434. package/dist/services/artifact-render-export.js.map +1 -0
  435. package/dist/services/asset-caption-service.d.ts +103 -0
  436. package/dist/services/asset-caption-service.js +186 -0
  437. package/dist/services/asset-caption-service.js.map +1 -0
  438. package/dist/services/asset-delete-authz.d.ts +31 -0
  439. package/dist/services/asset-delete-authz.js +61 -0
  440. package/dist/services/asset-delete-authz.js.map +1 -0
  441. package/dist/services/asset-finalize-service.d.ts +58 -0
  442. package/dist/services/asset-finalize-service.js +216 -0
  443. package/dist/services/asset-finalize-service.js.map +1 -0
  444. package/dist/services/asset-import-service.d.ts +111 -0
  445. package/dist/services/asset-import-service.js +394 -0
  446. package/dist/services/asset-import-service.js.map +1 -0
  447. package/dist/services/asset-index-sweep.d.ts +95 -0
  448. package/dist/services/asset-index-sweep.js +249 -0
  449. package/dist/services/asset-index-sweep.js.map +1 -0
  450. package/dist/services/asset-lifecycle-check.d.ts +22 -0
  451. package/dist/services/asset-lifecycle-check.js +80 -0
  452. package/dist/services/asset-lifecycle-check.js.map +1 -0
  453. package/dist/services/asset-listing.d.ts +72 -0
  454. package/dist/services/asset-listing.js +321 -0
  455. package/dist/services/asset-listing.js.map +1 -0
  456. package/dist/services/asset-presign-service.d.ts +68 -0
  457. package/dist/services/asset-presign-service.js +124 -0
  458. package/dist/services/asset-presign-service.js.map +1 -0
  459. package/dist/services/asset-sidecar-service.d.ts +28 -0
  460. package/dist/services/asset-sidecar-service.js +79 -0
  461. package/dist/services/asset-sidecar-service.js.map +1 -0
  462. package/dist/services/asset-upload-errors.d.ts +41 -0
  463. package/dist/services/asset-upload-errors.js +45 -0
  464. package/dist/services/asset-upload-errors.js.map +1 -0
  465. package/dist/services/asset-upload-service.d.ts +56 -0
  466. package/dist/services/asset-upload-service.js +200 -0
  467. package/dist/services/asset-upload-service.js.map +1 -0
  468. package/dist/services/asset-upload-token.d.ts +58 -0
  469. package/dist/services/asset-upload-token.js +75 -0
  470. package/dist/services/asset-upload-token.js.map +1 -0
  471. package/dist/services/assets/asset-index-service.d.ts +127 -0
  472. package/dist/services/assets/asset-index-service.js +227 -0
  473. package/dist/services/assets/asset-index-service.js.map +1 -0
  474. package/dist/services/assets/base.d.ts +128 -2
  475. package/dist/services/assets/base.js +98 -1
  476. package/dist/services/assets/base.js.map +1 -1
  477. package/dist/services/assets/index.d.ts +114 -1
  478. package/dist/services/assets/index.js +221 -0
  479. package/dist/services/assets/index.js.map +1 -1
  480. package/dist/services/assets/local.d.ts +16 -1
  481. package/dist/services/assets/local.js +110 -1
  482. package/dist/services/assets/local.js.map +1 -1
  483. package/dist/services/assets/r2-sync.d.ts +88 -0
  484. package/dist/services/assets/r2-sync.js +412 -0
  485. package/dist/services/assets/r2-sync.js.map +1 -0
  486. package/dist/services/assets/r2.d.ts +87 -1
  487. package/dist/services/assets/r2.js +203 -1
  488. package/dist/services/assets/r2.js.map +1 -1
  489. package/dist/services/auth-service.d.ts +312 -45
  490. package/dist/services/auth-service.js +1011 -195
  491. package/dist/services/auth-service.js.map +1 -1
  492. package/dist/services/chat-session-service.d.ts +188 -0
  493. package/dist/services/chat-session-service.js +512 -0
  494. package/dist/services/chat-session-service.js.map +1 -0
  495. package/dist/services/cloud-inference-billing.d.ts +64 -0
  496. package/dist/services/cloud-inference-billing.js +313 -0
  497. package/dist/services/cloud-inference-billing.js.map +1 -0
  498. package/dist/services/comment-service.d.ts +97 -0
  499. package/dist/services/comment-service.js +341 -0
  500. package/dist/services/comment-service.js.map +1 -0
  501. package/dist/services/comment-virtual-entity.d.ts +36 -0
  502. package/dist/services/comment-virtual-entity.js +71 -0
  503. package/dist/services/comment-virtual-entity.js.map +1 -0
  504. package/dist/services/convert-service.d.ts +64 -0
  505. package/dist/services/convert-service.js +68 -0
  506. package/dist/services/convert-service.js.map +1 -0
  507. package/dist/services/csv-service.d.ts +22 -17
  508. package/dist/services/csv-service.js +55 -92
  509. package/dist/services/csv-service.js.map +1 -1
  510. package/dist/services/entity-mutations.d.ts +213 -0
  511. package/dist/services/entity-mutations.js +380 -0
  512. package/dist/services/entity-mutations.js.map +1 -0
  513. package/dist/services/{meeting-processor.d.ts → event-processor.d.ts} +15 -8
  514. package/dist/services/{meeting-processor.js → event-processor.js} +124 -65
  515. package/dist/services/event-processor.js.map +1 -0
  516. package/dist/services/extract/docx.d.ts +1 -0
  517. package/dist/services/extract/docx.js +233 -0
  518. package/dist/services/extract/docx.js.map +1 -0
  519. package/dist/services/extract/index.d.ts +9 -0
  520. package/dist/services/extract/index.js +10 -0
  521. package/dist/services/extract/index.js.map +1 -0
  522. package/dist/services/extract/pdf.d.ts +13 -0
  523. package/dist/services/extract/pdf.js +69 -0
  524. package/dist/services/extract/pdf.js.map +1 -0
  525. package/dist/services/folder-creation.d.ts +33 -0
  526. package/dist/services/folder-creation.js +103 -0
  527. package/dist/services/folder-creation.js.map +1 -0
  528. package/dist/services/git.d.ts +58 -0
  529. package/dist/services/git.js +194 -55
  530. package/dist/services/git.js.map +1 -1
  531. package/dist/services/graph-maintenance.js +4 -4
  532. package/dist/services/graph-maintenance.js.map +1 -1
  533. package/dist/services/import-service.d.ts +51 -2
  534. package/dist/services/import-service.js +254 -107
  535. package/dist/services/import-service.js.map +1 -1
  536. package/dist/services/lint-service.js +10 -17
  537. package/dist/services/lint-service.js.map +1 -1
  538. package/dist/services/markdown.d.ts +12 -1
  539. package/dist/services/markdown.js +77 -9
  540. package/dist/services/markdown.js.map +1 -1
  541. package/dist/services/mention-detector.d.ts +23 -0
  542. package/dist/services/mention-detector.js +47 -0
  543. package/dist/services/mention-detector.js.map +1 -0
  544. package/dist/services/model-capabilities.d.ts +41 -0
  545. package/dist/services/model-capabilities.js +107 -0
  546. package/dist/services/model-capabilities.js.map +1 -0
  547. package/dist/services/notification-broadcast.d.ts +32 -0
  548. package/dist/services/notification-broadcast.js +38 -0
  549. package/dist/services/notification-broadcast.js.map +1 -0
  550. package/dist/services/notification-service.d.ts +41 -0
  551. package/dist/services/notification-service.js +100 -0
  552. package/dist/services/notification-service.js.map +1 -0
  553. package/dist/services/oauth-server-store.d.ts +147 -0
  554. package/dist/services/oauth-server-store.js +319 -0
  555. package/dist/services/oauth-server-store.js.map +1 -0
  556. package/dist/services/orphan-service.js +2 -2
  557. package/dist/services/orphan-service.js.map +1 -1
  558. package/dist/services/personal-folder.d.ts +40 -0
  559. package/dist/services/personal-folder.js +101 -0
  560. package/dist/services/personal-folder.js.map +1 -0
  561. package/dist/services/scratch-asset-promote.d.ts +57 -0
  562. package/dist/services/scratch-asset-promote.js +95 -0
  563. package/dist/services/scratch-asset-promote.js.map +1 -0
  564. package/dist/services/scratch-attachment-service.d.ts +196 -0
  565. package/dist/services/scratch-attachment-service.js +347 -0
  566. package/dist/services/scratch-attachment-service.js.map +1 -0
  567. package/dist/services/share-link-service.d.ts +57 -0
  568. package/dist/services/share-link-service.js +142 -0
  569. package/dist/services/share-link-service.js.map +1 -0
  570. package/dist/services/user-person-bridge.d.ts +136 -0
  571. package/dist/services/user-person-bridge.js +340 -0
  572. package/dist/services/user-person-bridge.js.map +1 -0
  573. package/dist/services/vector-service.d.ts +282 -5
  574. package/dist/services/vector-service.js +585 -29
  575. package/dist/services/vector-service.js.map +1 -1
  576. package/dist/services/workspace-access.d.ts +108 -0
  577. package/dist/services/workspace-access.js +149 -0
  578. package/dist/services/workspace-access.js.map +1 -0
  579. package/dist/services/workspace-assets-folder.d.ts +46 -0
  580. package/dist/services/workspace-assets-folder.js +75 -0
  581. package/dist/services/workspace-assets-folder.js.map +1 -0
  582. package/dist/utils/git.d.ts +17 -2
  583. package/dist/utils/git.js +23 -7
  584. package/dist/utils/git.js.map +1 -1
  585. package/dist/utils/log.d.ts +42 -0
  586. package/dist/utils/log.js +137 -0
  587. package/dist/utils/log.js.map +1 -0
  588. package/dist/utils/preflight.js +2 -2
  589. package/dist/utils/preflight.js.map +1 -1
  590. package/dist/utils/version-checker.d.ts +12 -19
  591. package/dist/utils/version-checker.js +14 -104
  592. package/dist/utils/version-checker.js.map +1 -1
  593. package/dist/web/_app/immutable/assets/0.Bs_z3Z86.css +2 -0
  594. package/dist/web/_app/immutable/assets/12.DlIf1mKh.css +1 -0
  595. package/dist/web/_app/immutable/assets/14.7d-Q37wc.css +1 -0
  596. package/dist/web/_app/immutable/assets/15.BwBFdc1D.css +1 -0
  597. package/dist/web/_app/immutable/assets/16.CmLrbzZp.css +1 -0
  598. package/dist/web/_app/immutable/assets/17.DcuK5ZVm.css +1 -0
  599. package/dist/web/_app/immutable/assets/2.DATnR31c.css +1 -0
  600. package/dist/web/_app/immutable/assets/3.Cz4H8n_O.css +1 -0
  601. package/dist/web/_app/immutable/assets/4.aDHteTDy.css +1 -0
  602. package/dist/web/_app/immutable/assets/6.CF1i5Bon.css +1 -0
  603. package/dist/web/_app/immutable/assets/ArtifactEntityView.C4ooklFD.css +1 -0
  604. package/dist/web/_app/immutable/assets/AssetLibraryPicker.BOFW0MvF.css +1 -0
  605. package/dist/web/_app/immutable/assets/BulkActionsBar.cmKvHzRK.css +1 -0
  606. package/dist/web/_app/immutable/assets/CalendarView.lBCvS3X5.css +1 -0
  607. package/dist/web/_app/immutable/assets/CodeMirrorEditor.D6hf2pNJ.css +1 -0
  608. package/dist/web/_app/immutable/assets/CopyField.DVGZtw4U.css +1 -0
  609. package/dist/web/_app/immutable/assets/FolderMembersPanel.kiYnDFHu.css +1 -0
  610. package/dist/web/_app/immutable/assets/FolderMutationDialogs.BMRF6Z3z.css +1 -0
  611. package/dist/web/_app/immutable/assets/FolderPicker.Cp46GHe2.css +1 -0
  612. package/dist/web/_app/immutable/assets/GalleryView.WBGxxUQc.css +1 -0
  613. package/dist/web/_app/immutable/assets/GraphView.BJtGL9py.css +1 -0
  614. package/dist/web/_app/immutable/assets/KanbanView.BOaI5KFL.css +1 -0
  615. package/dist/web/_app/immutable/assets/Link.vV0ne105.css +1 -0
  616. package/dist/web/_app/immutable/assets/Markdown.BZnsSOSf.css +1 -0
  617. package/dist/web/_app/immutable/assets/Rail.ilusFgD4.css +1 -0
  618. package/dist/web/_app/immutable/assets/SettingsDialog.D7-BO6S_.css +1 -0
  619. package/dist/web/_app/immutable/assets/Spinner.UBfl0pab.css +1 -0
  620. package/dist/web/_app/immutable/assets/StopFilledAlt.fNlDN65D.css +1 -0
  621. package/dist/web/_app/immutable/assets/TimelineView.xAZBJhHw.css +1 -0
  622. package/dist/web/_app/immutable/assets/WorkspaceView.C8ErUJAY.css +1 -0
  623. package/dist/web/_app/immutable/assets/button.BlLm4Dg1.css +1 -0
  624. package/dist/web/_app/immutable/assets/history-summary.LpmHXasl.css +1 -0
  625. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff +0 -0
  626. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2 +0 -0
  627. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff +0 -0
  628. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2 +0 -0
  629. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2 +0 -0
  630. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff +0 -0
  631. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2 +0 -0
  632. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff +0 -0
  633. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.BNK2_mGO.woff2 +0 -0
  634. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.DpEwFAQM.woff +0 -0
  635. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2 +0 -0
  636. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff +0 -0
  637. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff +0 -0
  638. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2 +0 -0
  639. package/dist/web/_app/immutable/assets/inline-list.cqga56xT.css +1 -0
  640. package/dist/web/_app/immutable/assets/list-columns.BgnafZ4K.css +1 -0
  641. package/dist/web/_app/immutable/assets/realtime.DDCWxn3B.css +1 -0
  642. package/dist/web/_app/immutable/assets/select.B90KUqR4.css +1 -0
  643. package/dist/web/_app/immutable/assets/sheet.RF9RBmml.css +1 -0
  644. package/dist/web/_app/immutable/chunks/22qYtvr82.js +1 -0
  645. package/dist/web/_app/immutable/chunks/2f1VclTm.js +1 -0
  646. package/dist/web/_app/immutable/chunks/4xgUPoGj2.js +2 -0
  647. package/dist/web/_app/immutable/chunks/5CYQk4xR.js +1 -0
  648. package/dist/web/_app/immutable/chunks/6S9WOky52.js +1 -0
  649. package/dist/web/_app/immutable/chunks/9K8VREGP.js +1 -0
  650. package/dist/web/_app/immutable/chunks/B-n5q6ku.js +1 -0
  651. package/dist/web/_app/immutable/chunks/B0p2fSEV2.js +1 -0
  652. package/dist/web/_app/immutable/chunks/B2oi87jG.js +2 -0
  653. package/dist/web/_app/immutable/chunks/B5Rb52QU.js +1 -0
  654. package/dist/web/_app/immutable/chunks/B6Lt-qaJ.js +1 -0
  655. package/dist/web/_app/immutable/chunks/B6O-q2CN.js +1 -0
  656. package/dist/web/_app/immutable/chunks/B6qeIQZz.js +2 -0
  657. package/dist/web/_app/immutable/chunks/B9KfEsQw2.js +1 -0
  658. package/dist/web/_app/immutable/chunks/BB-RSeXQ.js +1 -0
  659. package/dist/web/_app/immutable/chunks/BCQQzpbj.js +1 -0
  660. package/dist/web/_app/immutable/chunks/BGdzd-Tc.js +1 -0
  661. package/dist/web/_app/immutable/chunks/BLs1h0Rh2.js +1 -0
  662. package/dist/web/_app/immutable/chunks/BPzV_xOS2.js +1 -0
  663. package/dist/web/_app/immutable/chunks/BT2C6q8n.js +1 -0
  664. package/dist/web/_app/immutable/chunks/BUesbLq2.js +1 -0
  665. package/dist/web/_app/immutable/chunks/BUrnwOw4.js +2 -0
  666. package/dist/web/_app/immutable/chunks/BV-iCKqa.js +1 -0
  667. package/dist/web/_app/immutable/chunks/BVCJtXyc.js +1 -0
  668. package/dist/web/_app/immutable/chunks/BY9a3GSt.js +6 -0
  669. package/dist/web/_app/immutable/chunks/BZi3uKF4.js +1 -0
  670. package/dist/web/_app/immutable/chunks/BbfHGU9n2.js +1 -0
  671. package/dist/web/_app/immutable/chunks/Bbqu2-5G2.js +1 -0
  672. package/dist/web/_app/immutable/chunks/BbsX1Slr.js +3 -0
  673. package/dist/web/_app/immutable/chunks/BcwjqHaZ2.js +1 -0
  674. package/dist/web/_app/immutable/chunks/BizeEpTx.js +2 -0
  675. package/dist/web/_app/immutable/chunks/BlgjVmFM2.js +14 -0
  676. package/dist/web/_app/immutable/chunks/BocSRgv12.js +1 -0
  677. package/dist/web/_app/immutable/chunks/BojBYqc3.js +1 -0
  678. package/dist/web/_app/immutable/chunks/BpCG9m962.js +1 -0
  679. package/dist/web/_app/immutable/chunks/BqvnBg_y.js +1 -0
  680. package/dist/web/_app/immutable/chunks/BsT0J1QD.js +1 -0
  681. package/dist/web/_app/immutable/chunks/BsW72fyR2.js +1 -0
  682. package/dist/web/_app/immutable/chunks/Bti_XKwx.js +2692 -0
  683. package/dist/web/_app/immutable/chunks/Bua97Had2.js +2 -0
  684. package/dist/web/_app/immutable/chunks/BuhW5Fr0.js +689 -0
  685. package/dist/web/_app/immutable/chunks/Bx74EEyn2.js +1 -0
  686. package/dist/web/_app/immutable/chunks/BxPN0T61.js +1 -0
  687. package/dist/web/_app/immutable/chunks/Bz9lrgGs.js +1 -0
  688. package/dist/web/_app/immutable/chunks/BzaxZ6j12.js +1 -0
  689. package/dist/web/_app/immutable/chunks/C1B4xDs0.js +1 -0
  690. package/dist/web/_app/immutable/chunks/C1trcC8M.js +7 -0
  691. package/dist/web/_app/immutable/chunks/C9tvkk7Y2.js +22 -0
  692. package/dist/web/_app/immutable/chunks/CBQjdDZf.js +1 -0
  693. package/dist/web/_app/immutable/chunks/CDeazMFW2.js +2 -0
  694. package/dist/web/_app/immutable/chunks/CEahbtnP.js +1 -0
  695. package/dist/web/_app/immutable/chunks/CGjVCd0e.js +8 -0
  696. package/dist/web/_app/immutable/chunks/CICK9maP.js +1 -0
  697. package/dist/web/_app/immutable/chunks/CIoNEHQ82.js +184 -0
  698. package/dist/web/_app/immutable/chunks/CP8_U450.js +1 -0
  699. package/dist/web/_app/immutable/chunks/CQ1eQ93t2.js +6 -0
  700. package/dist/web/_app/immutable/chunks/CUFQMEBn2.js +1 -0
  701. package/dist/web/_app/immutable/chunks/CYEYDNwO2.js +1 -0
  702. package/dist/web/_app/immutable/chunks/CYyIP7kP2.js +66 -0
  703. package/dist/web/_app/immutable/chunks/CZgFaimi2.js +83 -0
  704. package/dist/web/_app/immutable/chunks/CZqvCTCv.js +1 -0
  705. package/dist/web/_app/immutable/chunks/CcI9jYBV.js +1 -0
  706. package/dist/web/_app/immutable/chunks/CcWaWbrI2.js +1 -0
  707. package/dist/web/_app/immutable/chunks/CdtzRVZK.js +1 -0
  708. package/dist/web/_app/immutable/chunks/CfYG72Hc.js +1 -0
  709. package/dist/web/_app/immutable/chunks/Ch1kmm3J2.js +1 -0
  710. package/dist/web/_app/immutable/chunks/CmSSN61R2.js +1 -0
  711. package/dist/web/_app/immutable/chunks/Cqm5wAin.js +1 -0
  712. package/dist/web/_app/immutable/chunks/CuYPXpWU.js +1 -0
  713. package/dist/web/_app/immutable/chunks/CvSEodTA.js +1 -0
  714. package/dist/web/_app/immutable/chunks/CvqqrTrj.js +1 -0
  715. package/dist/web/_app/immutable/chunks/CwAmWt6h.js +1 -0
  716. package/dist/web/_app/immutable/chunks/CwP3Oa7F.js +1 -0
  717. package/dist/web/_app/immutable/chunks/CyTluew1.js +2 -0
  718. package/dist/web/_app/immutable/chunks/CzXdOgVl2.js +7 -0
  719. package/dist/web/_app/immutable/chunks/D0IAituJ.js +1 -0
  720. package/dist/web/_app/immutable/chunks/D0W7c6Sg.js +185 -0
  721. package/dist/web/_app/immutable/chunks/D0rBhnqB2.js +1 -0
  722. package/dist/web/_app/immutable/chunks/D1-GZSN1.js +1 -0
  723. package/dist/web/_app/immutable/chunks/D1yvtriI.js +1 -0
  724. package/dist/web/_app/immutable/chunks/D25NMRpl.js +1 -0
  725. package/dist/web/_app/immutable/chunks/D8wZ2xul.js +4 -0
  726. package/dist/web/_app/immutable/chunks/DA3HEX3X.js +1 -0
  727. package/dist/web/_app/immutable/chunks/DD9wj4ca2.js +1 -0
  728. package/dist/web/_app/immutable/chunks/DJ1YeiJL2.js +1 -0
  729. package/dist/web/_app/immutable/chunks/DKFZnpVC.js +5 -0
  730. package/dist/web/_app/immutable/chunks/DKJl40hl.js +1 -0
  731. package/dist/web/_app/immutable/chunks/DPUVu0T0.js +1 -0
  732. package/dist/web/_app/immutable/chunks/DQMWa2t7.js +1 -0
  733. package/dist/web/_app/immutable/chunks/DXsFrDer2.js +1 -0
  734. package/dist/web/_app/immutable/chunks/DYc5KW3F.js +1 -0
  735. package/dist/web/_app/immutable/chunks/DZcTwXBW.js +1 -0
  736. package/dist/web/_app/immutable/chunks/DcPrzUMJ.js +1 -0
  737. package/dist/web/_app/immutable/chunks/DdPO8kRu2.js +2 -0
  738. package/dist/web/_app/immutable/chunks/DeOXyJZw2.js +1 -0
  739. package/dist/web/_app/immutable/chunks/DfufUFR1.js +2 -0
  740. package/dist/web/_app/immutable/chunks/DiQg3ing.js +1 -0
  741. package/dist/web/_app/immutable/chunks/DjIqa1_y.js +2 -0
  742. package/dist/web/_app/immutable/chunks/DkJ1dkxV2.js +1 -0
  743. package/dist/web/_app/immutable/chunks/Dl63IUnH2.js +224 -0
  744. package/dist/web/_app/immutable/chunks/DmFdD6zT.js +1 -0
  745. package/dist/web/_app/immutable/chunks/Dn3R8S-U.js +1 -0
  746. package/dist/web/_app/immutable/chunks/DpNr1GQ2.js +1 -0
  747. package/dist/web/_app/immutable/chunks/DpVNDHXz.js +2 -0
  748. package/dist/web/_app/immutable/chunks/DuxziNnw.js +1 -0
  749. package/dist/web/_app/immutable/chunks/Dv3A3Wcj.js +1 -0
  750. package/dist/web/_app/immutable/chunks/FuiJnZG0.js +1 -0
  751. package/dist/web/_app/immutable/chunks/Izkulod7.js +1 -0
  752. package/dist/web/_app/immutable/chunks/KZY6ongq2.js +2 -0
  753. package/dist/web/_app/immutable/chunks/LYL8znYR2.js +23 -0
  754. package/dist/web/_app/immutable/chunks/PhN6tXuJ2.js +1 -0
  755. package/dist/web/_app/immutable/chunks/PyLyCpuL.js +1 -0
  756. package/dist/web/_app/immutable/chunks/RK4gCWN0.js +2 -0
  757. package/dist/web/_app/immutable/chunks/VsBngTf4.js +2 -0
  758. package/dist/web/_app/immutable/chunks/XcWejFm_.js +5 -0
  759. package/dist/web/_app/immutable/chunks/al_nidE9.js +1 -0
  760. package/dist/web/_app/immutable/chunks/e50-izZO2.js +1 -0
  761. package/dist/web/_app/immutable/chunks/hG-QCarB.js +1 -0
  762. package/dist/web/_app/immutable/chunks/hStvCHkX.js +1 -0
  763. package/dist/web/_app/immutable/chunks/iJVY9p0y.js +3 -0
  764. package/dist/web/_app/immutable/chunks/kNaey6uv.js +1 -0
  765. package/dist/web/_app/immutable/chunks/pIXNe0C1.js +1 -0
  766. package/dist/web/_app/immutable/chunks/pNSRq_1B.js +2 -0
  767. package/dist/web/_app/immutable/chunks/qwr5boV8.js +1 -0
  768. package/dist/web/_app/immutable/chunks/rjjyuGhb.js +1 -0
  769. package/dist/web/_app/immutable/chunks/sg-T-FoN.js +1 -0
  770. package/dist/web/_app/immutable/chunks/uBgoVlsx.js +3 -0
  771. package/dist/web/_app/immutable/chunks/ulshNz6x.js +2 -0
  772. package/dist/web/_app/immutable/chunks/xY0c-UfG.js +3 -0
  773. package/dist/web/_app/immutable/chunks/xeNvx4Bl2.js +1 -0
  774. package/dist/web/_app/immutable/chunks/xihTtKlq.js +1 -0
  775. package/dist/web/_app/immutable/entry/app.pNUW-q4U.js +2 -0
  776. package/dist/web/_app/immutable/entry/start.DxGtIGG_.js +1 -0
  777. package/dist/web/_app/immutable/nodes/0.D6ZCY_R6.js +2 -0
  778. package/dist/web/_app/immutable/nodes/1.BryH3TNr.js +1 -0
  779. package/dist/web/_app/immutable/nodes/10.CMZMvR17.js +1 -0
  780. package/dist/web/_app/immutable/nodes/11.QHx_JShx.js +1 -0
  781. package/dist/web/_app/immutable/nodes/12.CiRWbb4X.js +1 -0
  782. package/dist/web/_app/immutable/nodes/13.CYrHXCA8.js +1 -0
  783. package/dist/web/_app/immutable/nodes/14.K18eIE5Z.js +1 -0
  784. package/dist/web/_app/immutable/nodes/15.DxgnZ61h.js +1 -0
  785. package/dist/web/_app/immutable/nodes/16.Dn6iuWIo.js +1 -0
  786. package/dist/web/_app/immutable/nodes/17.viwS7vTR.js +77 -0
  787. package/dist/web/_app/immutable/nodes/2.BQkQ_uUM.js +122 -0
  788. package/dist/web/_app/immutable/nodes/3.B4pqXsqq.js +6 -0
  789. package/dist/web/_app/immutable/nodes/4.CKXEgIAP.js +11 -0
  790. package/dist/web/_app/immutable/nodes/5.A2TASl4Q.js +1 -0
  791. package/dist/web/_app/immutable/nodes/6.DaIRO3SI.js +6 -0
  792. package/dist/web/_app/immutable/nodes/7.ga2UvFm-.js +1 -0
  793. package/dist/web/_app/immutable/nodes/8.BTEWT81u.js +1 -0
  794. package/dist/web/_app/immutable/nodes/9.BVxo0E0c.js +1 -0
  795. package/dist/web/_app/version.json +1 -1
  796. package/dist/web/favicon-16.png +0 -0
  797. package/dist/web/favicon-180.png +0 -0
  798. package/dist/web/favicon-32.png +0 -0
  799. package/dist/web/favicon-48.png +0 -0
  800. package/dist/web/favicon-512.png +0 -0
  801. package/dist/web/favicon.ico +0 -0
  802. package/dist/web/favicon.svg +8 -0
  803. package/dist/web/index.html +56 -21
  804. package/dist/web/studiograph-logomark.svg +29 -0
  805. package/package.json +35 -14
  806. package/dist/agent/skills/enrich-entities.md +0 -136
  807. package/dist/agent/skills/sync-configuration.md +0 -119
  808. package/dist/agent/skills/sync-setup.md +0 -82
  809. package/dist/agent/tools/message-tools.d.ts +0 -42
  810. package/dist/agent/tools/message-tools.js +0 -106
  811. package/dist/agent/tools/message-tools.js.map +0 -1
  812. package/dist/cli/commands/app.d.ts +0 -7
  813. package/dist/cli/commands/app.js +0 -268
  814. package/dist/cli/commands/app.js.map +0 -1
  815. package/dist/cli/commands/clear.d.ts +0 -5
  816. package/dist/cli/commands/clear.js +0 -36
  817. package/dist/cli/commands/clear.js.map +0 -1
  818. package/dist/cli/commands/collection.d.ts +0 -10
  819. package/dist/cli/commands/collection.js.map +0 -1
  820. package/dist/cli/commands/join.d.ts +0 -9
  821. package/dist/cli/commands/join.js +0 -255
  822. package/dist/cli/commands/join.js.map +0 -1
  823. package/dist/cli/commands/start.d.ts +0 -7
  824. package/dist/cli/commands/start.js +0 -584
  825. package/dist/cli/commands/start.js.map +0 -1
  826. package/dist/cli/commands/update.d.ts +0 -8
  827. package/dist/cli/commands/update.js +0 -155
  828. package/dist/cli/commands/update.js.map +0 -1
  829. package/dist/cli/commands/user.d.ts +0 -7
  830. package/dist/cli/commands/user.js +0 -175
  831. package/dist/cli/commands/user.js.map +0 -1
  832. package/dist/cli/scaffolding.d.ts +0 -12
  833. package/dist/cli/scaffolding.js +0 -397
  834. package/dist/cli/scaffolding.js.map +0 -1
  835. package/dist/integrations/registry.d.ts +0 -8
  836. package/dist/integrations/registry.js +0 -7
  837. package/dist/integrations/registry.js.map +0 -1
  838. package/dist/integrations/types.d.ts +0 -43
  839. package/dist/integrations/types.js +0 -5
  840. package/dist/integrations/types.js.map +0 -1
  841. package/dist/lib/lib/utils.d.ts +0 -2
  842. package/dist/lib/lib/utils.js +0 -6
  843. package/dist/lib/lib/utils.js.map +0 -1
  844. package/dist/server/chrome/chrome.css +0 -691
  845. package/dist/server/chrome/chrome.js +0 -374
  846. package/dist/server/commit-scheduler.d.ts +0 -39
  847. package/dist/server/commit-scheduler.js +0 -113
  848. package/dist/server/commit-scheduler.js.map +0 -1
  849. package/dist/server/plugin-loader.d.ts +0 -53
  850. package/dist/server/plugin-loader.js +0 -155
  851. package/dist/server/plugin-loader.js.map +0 -1
  852. package/dist/server/routes/meeting-ingest-api.d.ts +0 -14
  853. package/dist/server/routes/meeting-ingest-api.js.map +0 -1
  854. package/dist/server/routes/messages-api.d.ts +0 -15
  855. package/dist/server/routes/messages-api.js +0 -385
  856. package/dist/server/routes/messages-api.js.map +0 -1
  857. package/dist/services/batch-processor.d.ts +0 -49
  858. package/dist/services/batch-processor.js +0 -166
  859. package/dist/services/batch-processor.js.map +0 -1
  860. package/dist/services/briefing.d.ts +0 -26
  861. package/dist/services/briefing.js +0 -230
  862. package/dist/services/briefing.js.map +0 -1
  863. package/dist/services/heartbeat.d.ts +0 -28
  864. package/dist/services/heartbeat.js +0 -183
  865. package/dist/services/heartbeat.js.map +0 -1
  866. package/dist/services/image-import-service.d.ts +0 -24
  867. package/dist/services/image-import-service.js +0 -108
  868. package/dist/services/image-import-service.js.map +0 -1
  869. package/dist/services/insights.d.ts +0 -38
  870. package/dist/services/insights.js +0 -269
  871. package/dist/services/insights.js.map +0 -1
  872. package/dist/services/meeting-processor.js.map +0 -1
  873. package/dist/services/message-service.d.ts +0 -68
  874. package/dist/services/message-service.js +0 -220
  875. package/dist/services/message-service.js.map +0 -1
  876. package/dist/utils/workspace-config.d.ts +0 -8
  877. package/dist/utils/workspace-config.js +0 -22
  878. package/dist/utils/workspace-config.js.map +0 -1
  879. package/dist/web/_app/immutable/assets/0.uPSqtsC5.css +0 -1
  880. package/dist/web/_app/immutable/assets/11.2jzI3cZY.css +0 -1
  881. package/dist/web/_app/immutable/assets/12.CT4xL4K3.css +0 -1
  882. package/dist/web/_app/immutable/assets/13.BUrHkYry.css +0 -1
  883. package/dist/web/_app/immutable/assets/2.DpQWr6q6.css +0 -1
  884. package/dist/web/_app/immutable/assets/3.BxdqT7zi.css +0 -1
  885. package/dist/web/_app/immutable/assets/4.DdNqjd0T.css +0 -1
  886. package/dist/web/_app/immutable/assets/5.DFeGxLYf.css +0 -1
  887. package/dist/web/_app/immutable/assets/6.DXZr_rI_.css +0 -1
  888. package/dist/web/_app/immutable/assets/GraphView.D9ePpZez.css +0 -1
  889. package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +0 -1
  890. package/dist/web/_app/immutable/assets/ViewToolbar.BWE03S64.css +0 -1
  891. package/dist/web/_app/immutable/assets/WorkspaceView.CgGDi_Zb.css +0 -1
  892. package/dist/web/_app/immutable/assets/wikilinks.CzMBkUMB.css +0 -1
  893. package/dist/web/_app/immutable/chunks/-jG4Obyh.js +0 -4
  894. package/dist/web/_app/immutable/chunks/2nrc8f_O.js +0 -1
  895. package/dist/web/_app/immutable/chunks/7S2LGqoP.js +0 -2
  896. package/dist/web/_app/immutable/chunks/8Q3ZJIYu.js +0 -1
  897. package/dist/web/_app/immutable/chunks/B8ydT5xX.js +0 -2
  898. package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
  899. package/dist/web/_app/immutable/chunks/BEn6N5c2.js +0 -1
  900. package/dist/web/_app/immutable/chunks/BFNNbCAM.js +0 -1
  901. package/dist/web/_app/immutable/chunks/BFZZEUd5.js +0 -1
  902. package/dist/web/_app/immutable/chunks/BGk8kfOE.js +0 -2
  903. package/dist/web/_app/immutable/chunks/BIBCr278.js +0 -1
  904. package/dist/web/_app/immutable/chunks/BPCkkwqe.js +0 -1
  905. package/dist/web/_app/immutable/chunks/BhlvzGQx.js +0 -1
  906. package/dist/web/_app/immutable/chunks/BlMknQeF.js +0 -1
  907. package/dist/web/_app/immutable/chunks/BpjqrlCg.js +0 -1
  908. package/dist/web/_app/immutable/chunks/BrebtJNG.js +0 -18
  909. package/dist/web/_app/immutable/chunks/ByBZ7JIT.js +0 -1
  910. package/dist/web/_app/immutable/chunks/Bz0ZjVQE.js +0 -2
  911. package/dist/web/_app/immutable/chunks/BzJTZOK2.js +0 -1
  912. package/dist/web/_app/immutable/chunks/C0LVZhvn.js +0 -1
  913. package/dist/web/_app/immutable/chunks/C3uBrOS5.js +0 -1
  914. package/dist/web/_app/immutable/chunks/C8R1sDpW.js +0 -1
  915. package/dist/web/_app/immutable/chunks/CDRHrs0g.js +0 -1
  916. package/dist/web/_app/immutable/chunks/CN5_py1I.js +0 -1
  917. package/dist/web/_app/immutable/chunks/CPne482a.js +0 -1
  918. package/dist/web/_app/immutable/chunks/CSVbGg_b.js +0 -5
  919. package/dist/web/_app/immutable/chunks/CWyU-seV.js +0 -1
  920. package/dist/web/_app/immutable/chunks/CX_61fY8.js +0 -5
  921. package/dist/web/_app/immutable/chunks/CYrVHOHA.js +0 -1
  922. package/dist/web/_app/immutable/chunks/ChsiIm-E.js +0 -1
  923. package/dist/web/_app/immutable/chunks/CojKppbh.js +0 -1
  924. package/dist/web/_app/immutable/chunks/CqkleIqs.js +0 -1
  925. package/dist/web/_app/immutable/chunks/CtYLtD7K.js +0 -1
  926. package/dist/web/_app/immutable/chunks/D-HDy5qS.js +0 -1
  927. package/dist/web/_app/immutable/chunks/D5aIYSkd.js +0 -1
  928. package/dist/web/_app/immutable/chunks/DBBXARVf.js +0 -1
  929. package/dist/web/_app/immutable/chunks/DFYOFE3o.js +0 -1
  930. package/dist/web/_app/immutable/chunks/DKaafS50.js +0 -1
  931. package/dist/web/_app/immutable/chunks/DUMOo1Pn.js +0 -1
  932. package/dist/web/_app/immutable/chunks/DWX9f6AF.js +0 -1
  933. package/dist/web/_app/immutable/chunks/DY8-EONP.js +0 -1
  934. package/dist/web/_app/immutable/chunks/DkoHPElM.js +0 -1
  935. package/dist/web/_app/immutable/chunks/DnL9f0lc.js +0 -7
  936. package/dist/web/_app/immutable/chunks/DsnmJJEf.js +0 -1
  937. package/dist/web/_app/immutable/chunks/DujahU3W.js +0 -1
  938. package/dist/web/_app/immutable/chunks/FBn-ES5k.js +0 -1
  939. package/dist/web/_app/immutable/chunks/HQpwSOb3.js +0 -1
  940. package/dist/web/_app/immutable/chunks/KyjzlWRN.js +0 -2
  941. package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +0 -1
  942. package/dist/web/_app/immutable/chunks/UwYfmrPx.js +0 -2
  943. package/dist/web/_app/immutable/chunks/W25ZVI8L.js +0 -2
  944. package/dist/web/_app/immutable/chunks/WSUKABI_.js +0 -1
  945. package/dist/web/_app/immutable/chunks/XjsuEnNE.js +0 -5
  946. package/dist/web/_app/immutable/chunks/ZD6ARAtb.js +0 -1
  947. package/dist/web/_app/immutable/chunks/pBTf4stg.js +0 -2
  948. package/dist/web/_app/immutable/chunks/rGIarcnp.js +0 -1
  949. package/dist/web/_app/immutable/chunks/vxEtkL8z.js +0 -1
  950. package/dist/web/_app/immutable/chunks/wDIGUaoU.js +0 -3
  951. package/dist/web/_app/immutable/entry/app.ZHiTM8WS.js +0 -2
  952. package/dist/web/_app/immutable/entry/start.C9-FfAVc.js +0 -1
  953. package/dist/web/_app/immutable/nodes/0.D92Orz8k.js +0 -2
  954. package/dist/web/_app/immutable/nodes/1.BMdyglM_.js +0 -1
  955. package/dist/web/_app/immutable/nodes/10.BilVDHSL.js +0 -1
  956. package/dist/web/_app/immutable/nodes/11.CS9E0Hic.js +0 -1
  957. package/dist/web/_app/immutable/nodes/12.D3BOxYzG.js +0 -1
  958. package/dist/web/_app/immutable/nodes/13.CClMKYtN.js +0 -1
  959. package/dist/web/_app/immutable/nodes/2.C8KKElPL.js +0 -267
  960. package/dist/web/_app/immutable/nodes/3.C5n5uiWU.js +0 -5
  961. package/dist/web/_app/immutable/nodes/4.DcGVvgiL.js +0 -11
  962. package/dist/web/_app/immutable/nodes/5.DxIjnFQO.js +0 -4
  963. package/dist/web/_app/immutable/nodes/6.lkh6kKLj.js +0 -1
  964. package/dist/web/_app/immutable/nodes/7.Bg7SbfhA.js +0 -1
  965. package/dist/web/_app/immutable/nodes/8.DcXWCNBE.js +0 -1
  966. package/dist/web/_app/immutable/nodes/9.Cefi8Jfm.js +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/services/insights.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"meeting-processor.js","sourceRoot":"","sources":["../../src/services/meeting-processor.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- /**
2
- * Message Service
3
- *
4
- * SQLite-backed persistence for collection-scoped messaging.
5
- * Database lives at .studiograph/messages.db inside the workspace.
6
- * Follows the AuthService pattern (WAL mode, table creation on init).
7
- */
8
- export interface CollectionMessage {
9
- id: number;
10
- collection: string;
11
- userId: number;
12
- userDisplayName: string;
13
- role: 'user' | 'agent';
14
- content: string;
15
- createdAt: string;
16
- replyToId: number | null;
17
- }
18
- export interface MsgNotification {
19
- id: number;
20
- userId: number;
21
- collection: string;
22
- messageId: number;
23
- mentionerName: string;
24
- messagePreview: string;
25
- read: boolean;
26
- createdAt: string;
27
- }
28
- export declare class MessageService {
29
- private db;
30
- constructor(workspacePath: string);
31
- /** Post a new message to a collection thread. */
32
- postMessage(collection: string, userId: number, displayName: string, role: 'user' | 'agent', content: string, replyToId?: number): CollectionMessage;
33
- /** Get messages for a collection with cursor-based pagination (newest first). */
34
- getMessages(collection: string, opts?: {
35
- before?: number;
36
- limit?: number;
37
- }): CollectionMessage[];
38
- /** Search messages by keyword, optionally scoped to a collection. */
39
- searchMessages(query: string, opts?: {
40
- collection?: string;
41
- collections?: string[];
42
- limit?: number;
43
- }): CollectionMessage[];
44
- /** Mark messages as read up to a given message ID (UPSERT). */
45
- markRead(userId: number, collection: string, messageId: number): void;
46
- /** Get unread message counts for a user across multiple collections. */
47
- getUnreadCounts(userId: number, collections: string[]): Record<string, number>;
48
- /** Update a message's content (used to mark capture items as done). */
49
- updateMessageContent(id: number, content: string): void;
50
- /** Get a single message by ID. */
51
- getMessageById(id: number): CollectionMessage | null;
52
- /** Get the latest message ID for a collection (for markRead on load). */
53
- getLatestMessageId(collection: string): number | null;
54
- /** Update the mentions JSON array on a message (called after mention detection). */
55
- setMentions(messageId: number, userIds: number[]): void;
56
- createNotification(userId: number, collection: string, messageId: number, mentionerName: string, messagePreview: string): void;
57
- getNotifications(userId: number, opts?: {
58
- unreadOnly?: boolean;
59
- limit?: number;
60
- }): MsgNotification[];
61
- getUnreadNotificationCount(userId: number): number;
62
- markNotificationRead(notificationId: number, userId: number): void;
63
- markAllNotificationsRead(userId: number): void;
64
- close(): void;
65
- private ensureGitignore;
66
- private toNotification;
67
- private toMessage;
68
- }
@@ -1,220 +0,0 @@
1
- /**
2
- * Message Service
3
- *
4
- * SQLite-backed persistence for collection-scoped messaging.
5
- * Database lives at .studiograph/messages.db inside the workspace.
6
- * Follows the AuthService pattern (WAL mode, table creation on init).
7
- */
8
- import Database from 'better-sqlite3';
9
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
10
- import { join } from 'path';
11
- export class MessageService {
12
- db;
13
- constructor(workspacePath) {
14
- const sgDir = join(workspacePath, '.studiograph');
15
- if (!existsSync(sgDir)) {
16
- mkdirSync(sgDir, { recursive: true });
17
- }
18
- const dbPath = join(sgDir, 'messages.db');
19
- this.db = new Database(dbPath);
20
- this.db.pragma('journal_mode = WAL');
21
- this.db.exec(`
22
- CREATE TABLE IF NOT EXISTS messages (
23
- id INTEGER PRIMARY KEY AUTOINCREMENT,
24
- collection TEXT NOT NULL,
25
- user_id INTEGER NOT NULL,
26
- user_display_name TEXT NOT NULL,
27
- role TEXT NOT NULL DEFAULT 'user' CHECK(role IN ('user', 'agent')),
28
- content TEXT NOT NULL,
29
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
30
- )
31
- `);
32
- this.db.exec(`
33
- CREATE INDEX IF NOT EXISTS idx_messages_collection_id
34
- ON messages(collection, id)
35
- `);
36
- this.db.exec(`
37
- CREATE TABLE IF NOT EXISTS read_receipts (
38
- user_id INTEGER NOT NULL,
39
- collection TEXT NOT NULL,
40
- last_read_message_id INTEGER NOT NULL DEFAULT 0,
41
- updated_at TEXT NOT NULL DEFAULT (datetime('now')),
42
- PRIMARY KEY (user_id, collection)
43
- )
44
- `);
45
- // Migrations
46
- try {
47
- this.db.exec('ALTER TABLE messages ADD COLUMN reply_to_id INTEGER');
48
- }
49
- catch { }
50
- try {
51
- this.db.exec('ALTER TABLE messages ADD COLUMN mentions TEXT');
52
- }
53
- catch { }
54
- // Notifications table
55
- this.db.exec(`
56
- CREATE TABLE IF NOT EXISTS notifications (
57
- id INTEGER PRIMARY KEY AUTOINCREMENT,
58
- user_id INTEGER NOT NULL,
59
- collection TEXT NOT NULL,
60
- message_id INTEGER NOT NULL,
61
- mentioner_name TEXT NOT NULL,
62
- message_preview TEXT NOT NULL,
63
- read INTEGER NOT NULL DEFAULT 0,
64
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
65
- )
66
- `);
67
- this.db.exec(`
68
- CREATE INDEX IF NOT EXISTS idx_notifications_user
69
- ON notifications(user_id, read, id DESC)
70
- `);
71
- // Ensure messages.db is gitignored
72
- this.ensureGitignore(sgDir);
73
- }
74
- /** Post a new message to a collection thread. */
75
- postMessage(collection, userId, displayName, role, content, replyToId) {
76
- const stmt = this.db.prepare('INSERT INTO messages (collection, user_id, user_display_name, role, content, reply_to_id) VALUES (?, ?, ?, ?, ?, ?)');
77
- const result = stmt.run(collection, userId, displayName, role, content, replyToId ?? null);
78
- const row = this.db.prepare('SELECT * FROM messages WHERE id = ?').get(result.lastInsertRowid);
79
- return this.toMessage(row);
80
- }
81
- /** Get messages for a collection with cursor-based pagination (newest first). */
82
- getMessages(collection, opts = {}) {
83
- const limit = Math.min(opts.limit ?? 50, 200);
84
- let rows;
85
- if (opts.before) {
86
- rows = this.db.prepare('SELECT * FROM messages WHERE collection = ? AND id < ? ORDER BY id DESC LIMIT ?').all(collection, opts.before, limit);
87
- }
88
- else {
89
- rows = this.db.prepare('SELECT * FROM messages WHERE collection = ? ORDER BY id DESC LIMIT ?').all(collection, limit);
90
- }
91
- return rows.map(r => this.toMessage(r));
92
- }
93
- /** Search messages by keyword, optionally scoped to a collection. */
94
- searchMessages(query, opts = {}) {
95
- const limit = Math.min(opts.limit ?? 20, 100);
96
- if (opts.collection) {
97
- const rows = this.db.prepare(`SELECT * FROM messages WHERE collection = ? AND content LIKE '%' || ? || '%' ORDER BY id DESC LIMIT ?`).all(opts.collection, query, limit);
98
- return rows.map(r => this.toMessage(r));
99
- }
100
- if (opts.collections && opts.collections.length > 0) {
101
- const placeholders = opts.collections.map(() => '?').join(', ');
102
- 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);
103
- return rows.map(r => this.toMessage(r));
104
- }
105
- const rows = this.db.prepare(`SELECT * FROM messages WHERE content LIKE '%' || ? || '%' ORDER BY id DESC LIMIT ?`).all(query, limit);
106
- return rows.map(r => this.toMessage(r));
107
- }
108
- /** Mark messages as read up to a given message ID (UPSERT). */
109
- markRead(userId, collection, messageId) {
110
- this.db.prepare(`
111
- INSERT INTO read_receipts (user_id, collection, last_read_message_id, updated_at)
112
- VALUES (?, ?, ?, datetime('now'))
113
- ON CONFLICT (user_id, collection)
114
- DO UPDATE SET
115
- last_read_message_id = MAX(excluded.last_read_message_id, read_receipts.last_read_message_id),
116
- updated_at = excluded.updated_at
117
- `).run(userId, collection, messageId);
118
- }
119
- /** Get unread message counts for a user across multiple collections. */
120
- getUnreadCounts(userId, collections) {
121
- if (collections.length === 0)
122
- return {};
123
- const counts = {};
124
- const stmt = this.db.prepare(`
125
- SELECT COUNT(*) as count FROM messages
126
- WHERE collection = ? AND id > COALESCE(
127
- (SELECT last_read_message_id FROM read_receipts WHERE user_id = ? AND collection = ?),
128
- 0
129
- )
130
- `);
131
- for (const col of collections) {
132
- const row = stmt.get(col, userId, col);
133
- if (row.count > 0) {
134
- counts[col] = row.count;
135
- }
136
- }
137
- return counts;
138
- }
139
- /** Update a message's content (used to mark capture items as done). */
140
- updateMessageContent(id, content) {
141
- this.db.prepare('UPDATE messages SET content = ? WHERE id = ?').run(content, id);
142
- }
143
- /** Get a single message by ID. */
144
- getMessageById(id) {
145
- const row = this.db.prepare('SELECT * FROM messages WHERE id = ?').get(id);
146
- return row ? this.toMessage(row) : null;
147
- }
148
- /** Get the latest message ID for a collection (for markRead on load). */
149
- getLatestMessageId(collection) {
150
- const row = this.db.prepare('SELECT MAX(id) as max_id FROM messages WHERE collection = ?').get(collection);
151
- return row.max_id;
152
- }
153
- /** Update the mentions JSON array on a message (called after mention detection). */
154
- setMentions(messageId, userIds) {
155
- this.db.prepare('UPDATE messages SET mentions = ? WHERE id = ?').run(JSON.stringify(userIds), messageId);
156
- }
157
- // ── Notifications ──
158
- createNotification(userId, collection, messageId, mentionerName, messagePreview) {
159
- 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));
160
- }
161
- getNotifications(userId, opts = {}) {
162
- const limit = opts.limit ?? 50;
163
- const where = opts.unreadOnly ? 'WHERE user_id = ? AND read = 0' : 'WHERE user_id = ?';
164
- const rows = this.db.prepare(`SELECT * FROM notifications ${where} ORDER BY id DESC LIMIT ?`).all(userId, limit);
165
- return rows.map(r => this.toNotification(r));
166
- }
167
- getUnreadNotificationCount(userId) {
168
- const row = this.db.prepare('SELECT COUNT(*) as count FROM notifications WHERE user_id = ? AND read = 0').get(userId);
169
- return row.count;
170
- }
171
- markNotificationRead(notificationId, userId) {
172
- this.db.prepare('UPDATE notifications SET read = 1 WHERE id = ? AND user_id = ?').run(notificationId, userId);
173
- }
174
- markAllNotificationsRead(userId) {
175
- this.db.prepare('UPDATE notifications SET read = 1 WHERE user_id = ? AND read = 0').run(userId);
176
- }
177
- close() {
178
- this.db.close();
179
- }
180
- ensureGitignore(sgDir) {
181
- const gitignorePath = join(sgDir, '.gitignore');
182
- const entries = ['messages.db', 'messages.db-wal', 'messages.db-shm'];
183
- let content = '';
184
- if (existsSync(gitignorePath)) {
185
- content = readFileSync(gitignorePath, 'utf-8');
186
- }
187
- const missing = entries.filter(e => !content.includes(e));
188
- if (missing.length > 0) {
189
- const suffix = (content && !content.endsWith('\n') ? '\n' : '') +
190
- '# Messages database (ephemeral, not synced)\n' +
191
- missing.join('\n') + '\n';
192
- writeFileSync(gitignorePath, content + suffix, 'utf-8');
193
- }
194
- }
195
- toNotification(row) {
196
- return {
197
- id: row.id,
198
- userId: row.user_id,
199
- collection: row.collection,
200
- messageId: row.message_id,
201
- mentionerName: row.mentioner_name,
202
- messagePreview: row.message_preview,
203
- read: row.read === 1,
204
- createdAt: row.created_at,
205
- };
206
- }
207
- toMessage(row) {
208
- return {
209
- id: row.id,
210
- collection: row.collection,
211
- userId: row.user_id,
212
- userDisplayName: row.user_display_name,
213
- role: row.role,
214
- content: row.content,
215
- createdAt: row.created_at,
216
- replyToId: row.reply_to_id ?? null,
217
- };
218
- }
219
- }
220
- //# 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-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 19px;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){display:inline-flex;align-items:center;gap:11px;min-width:0}.workspace-icon.svelte-6dohdz{width:22px;height:22px;border-radius:50%;background:var(--color-accent, #e05050);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;flex-shrink:0}.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}.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}.home-row.svelte-6dohdz{height:var(--row-height)}.section-row-wrapper.svelte-6dohdz{height:var(--row-height);border-top:1px solid var(--color-border)}.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:stretch;height:100%;background:transparent;padding:0;border-radius:0;gap:4px}.chat-panel.svelte-1xwj6s7 .chat-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:0 4px;height:100%;font-size:13px;font-weight:500;color:var(--color-text-tertiary);background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer;transition:color .15s ease}.chat-panel.svelte-1xwj6s7 .chat-tab:hover{color:var(--color-text-secondary)}.chat-panel.svelte-1xwj6s7 .chat-tab[data-state=active]{color:var(--color-text-primary);background:transparent;box-shadow:none}.chat-panel.svelte-1xwj6s7 .chat-tab[data-state=active]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--color-accent, var(--color-text-primary))}.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}