studiograph 1.3.48-next.1 → 1.3.48-next.100

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 (1066) hide show
  1. package/README.md +7 -7
  2. package/dist/agent/agent-pool.d.ts +74 -0
  3. package/dist/agent/agent-pool.js +231 -0
  4. package/dist/agent/agent-pool.js.map +1 -0
  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 +74 -22
  9. package/dist/agent/orchestrator.js +412 -166
  10. package/dist/agent/orchestrator.js.map +1 -1
  11. package/dist/agent/prompts/entity-types-section.d.ts +30 -0
  12. package/dist/agent/prompts/entity-types-section.js +82 -0
  13. package/dist/agent/prompts/entity-types-section.js.map +1 -0
  14. package/dist/agent/prompts/system.md +131 -69
  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/create-deck/content-guide.md +238 -0
  19. package/dist/agent/skills/create-deck/deck-cadence.md +105 -0
  20. package/dist/agent/skills/create-deck/diagrams.md +431 -0
  21. package/dist/agent/skills/create-deck/skill.md +89 -0
  22. package/dist/agent/skills/create-deck/slide-selection.md +115 -0
  23. package/dist/agent/skills/create-deck/slide-types.md +638 -0
  24. package/dist/agent/skills/create-document/skill.md +229 -0
  25. package/dist/agent/skills/entity-schema.md +81 -345
  26. package/dist/agent/skills/interview/entity-templates.md +193 -0
  27. package/dist/agent/skills/interview/question-domains.md +391 -0
  28. package/dist/agent/skills/interview/skill.md +211 -0
  29. package/dist/agent/skills/schema-rules.md +54 -0
  30. package/dist/agent/tools/folder-tools.d.ts +47 -0
  31. package/dist/agent/tools/folder-tools.js +241 -0
  32. package/dist/agent/tools/folder-tools.js.map +1 -0
  33. package/dist/agent/tools/fs-tools.d.ts +7 -6
  34. package/dist/agent/tools/fs-tools.js +5 -4
  35. package/dist/agent/tools/fs-tools.js.map +1 -1
  36. package/dist/agent/tools/graph-tools.d.ts +51 -24
  37. package/dist/agent/tools/graph-tools.js +447 -231
  38. package/dist/agent/tools/graph-tools.js.map +1 -1
  39. package/dist/agent/tools/load-skill.d.ts +6 -5
  40. package/dist/agent/tools/load-skill.js +3 -3
  41. package/dist/agent/tools/load-skill.js.map +1 -1
  42. package/dist/agent/tools/message-tools.d.ts +44 -0
  43. package/dist/agent/tools/message-tools.js +98 -0
  44. package/dist/agent/tools/message-tools.js.map +1 -0
  45. package/dist/agent/tools/ops-tools.d.ts +5 -4
  46. package/dist/agent/tools/ops-tools.js +6 -212
  47. package/dist/agent/tools/ops-tools.js.map +1 -1
  48. package/dist/agent/tools/permission-tools.d.ts +39 -16
  49. package/dist/agent/tools/permission-tools.js +66 -36
  50. package/dist/agent/tools/permission-tools.js.map +1 -1
  51. package/dist/agent/tools/web-tools.js +1 -1
  52. package/dist/agent/tools/web-tools.js.map +1 -1
  53. package/dist/cli/commands/clear.d.ts +5 -0
  54. package/dist/cli/commands/clear.js +144 -1
  55. package/dist/cli/commands/clear.js.map +1 -1
  56. package/dist/cli/commands/clone.d.ts +1 -1
  57. package/dist/cli/commands/clone.js +6 -5
  58. package/dist/cli/commands/clone.js.map +1 -1
  59. package/dist/cli/commands/collection.js +1 -3
  60. package/dist/cli/commands/collection.js.map +1 -1
  61. package/dist/cli/commands/commit.d.ts +1 -1
  62. package/dist/cli/commands/commit.js +24 -11
  63. package/dist/cli/commands/commit.js.map +1 -1
  64. package/dist/cli/commands/deploy.js +57 -16
  65. package/dist/cli/commands/deploy.js.map +1 -1
  66. package/dist/cli/commands/folder.d.ts +11 -0
  67. package/dist/cli/commands/folder.js +186 -0
  68. package/dist/cli/commands/folder.js.map +1 -0
  69. package/dist/cli/commands/index.js +2 -2
  70. package/dist/cli/commands/index.js.map +1 -1
  71. package/dist/cli/commands/init.js +13 -11
  72. package/dist/cli/commands/init.js.map +1 -1
  73. package/dist/cli/commands/join.d.ts +1 -1
  74. package/dist/cli/commands/join.js +7 -6
  75. package/dist/cli/commands/join.js.map +1 -1
  76. package/dist/cli/commands/mcp.js +3 -1
  77. package/dist/cli/commands/mcp.js.map +1 -1
  78. package/dist/cli/commands/orphans.js +14 -30
  79. package/dist/cli/commands/orphans.js.map +1 -1
  80. package/dist/cli/commands/reset.js +11 -30
  81. package/dist/cli/commands/reset.js.map +1 -1
  82. package/dist/cli/commands/serve.js +63 -24
  83. package/dist/cli/commands/serve.js.map +1 -1
  84. package/dist/cli/commands/start.js +137 -75
  85. package/dist/cli/commands/start.js.map +1 -1
  86. package/dist/cli/commands/sync.d.ts +1 -1
  87. package/dist/cli/commands/sync.js +313 -136
  88. package/dist/cli/commands/sync.js.map +1 -1
  89. package/dist/cli/commands/user.js +11 -5
  90. package/dist/cli/commands/user.js.map +1 -1
  91. package/dist/cli/index.js +4 -16
  92. package/dist/cli/index.js.map +1 -1
  93. package/dist/cli/scaffolding.js +10 -10
  94. package/dist/cli/scaffolding.js.map +1 -1
  95. package/dist/cli/setup-wizard.d.ts +33 -52
  96. package/dist/cli/setup-wizard.js +19 -57
  97. package/dist/cli/setup-wizard.js.map +1 -1
  98. package/dist/core/accent-palette.d.ts +22 -0
  99. package/dist/core/accent-palette.js +47 -0
  100. package/dist/core/accent-palette.js.map +1 -0
  101. package/dist/core/entity-body-templates.d.ts +21 -0
  102. package/dist/core/entity-body-templates.js +50 -0
  103. package/dist/core/entity-body-templates.js.map +1 -0
  104. package/dist/core/entity-types-catalog.d.ts +65 -0
  105. package/dist/core/entity-types-catalog.js +140 -0
  106. package/dist/core/entity-types-catalog.js.map +1 -0
  107. package/dist/core/feature-flags.d.ts +22 -0
  108. package/dist/core/feature-flags.js +15 -0
  109. package/dist/core/feature-flags.js.map +1 -0
  110. package/dist/core/features.d.ts +16 -0
  111. package/dist/core/features.js +48 -0
  112. package/dist/core/features.js.map +1 -0
  113. package/dist/core/folder-paths.d.ts +41 -0
  114. package/dist/core/folder-paths.js +95 -0
  115. package/dist/core/folder-paths.js.map +1 -0
  116. package/dist/core/graph.d.ts +330 -8
  117. package/dist/core/graph.js +1159 -205
  118. package/dist/core/graph.js.map +1 -1
  119. package/dist/core/schema-registry.d.ts +16 -0
  120. package/dist/core/schema-registry.js +59 -0
  121. package/dist/core/schema-registry.js.map +1 -1
  122. package/dist/core/types.d.ts +73 -475
  123. package/dist/core/types.js +8 -3
  124. package/dist/core/types.js.map +1 -1
  125. package/dist/core/user-config.d.ts +26 -0
  126. package/dist/core/user-config.js +62 -0
  127. package/dist/core/user-config.js.map +1 -1
  128. package/dist/core/validation.d.ts +532 -1686
  129. package/dist/core/validation.js +111 -107
  130. package/dist/core/validation.js.map +1 -1
  131. package/dist/core/workspace-manager.d.ts +15 -13
  132. package/dist/core/workspace-manager.js +86 -68
  133. package/dist/core/workspace-manager.js.map +1 -1
  134. package/dist/core/workspace.d.ts +0 -4
  135. package/dist/core/workspace.js +19 -24
  136. package/dist/core/workspace.js.map +1 -1
  137. package/dist/integrations/registry.d.ts +2 -9
  138. package/dist/integrations/registry.js +3 -23
  139. package/dist/integrations/registry.js.map +1 -1
  140. package/dist/integrations/types.d.ts +32 -27
  141. package/dist/integrations/types.js +1 -5
  142. package/dist/integrations/types.js.map +1 -1
  143. package/dist/mcp/connector-manager.d.ts +22 -11
  144. package/dist/mcp/connector-manager.js +89 -41
  145. package/dist/mcp/connector-manager.js.map +1 -1
  146. package/dist/mcp/oauth-provider.d.ts +32 -33
  147. package/dist/mcp/oauth-provider.js +75 -132
  148. package/dist/mcp/oauth-provider.js.map +1 -1
  149. package/dist/mcp/oauth-registry.d.ts +24 -0
  150. package/dist/mcp/oauth-registry.js +46 -0
  151. package/dist/mcp/oauth-registry.js.map +1 -0
  152. package/dist/mcp/server.d.ts +8 -2
  153. package/dist/mcp/server.js +26 -4
  154. package/dist/mcp/server.js.map +1 -1
  155. package/dist/mcp/tools.d.ts +27 -2
  156. package/dist/mcp/tools.js +413 -114
  157. package/dist/mcp/tools.js.map +1 -1
  158. package/dist/renderers/documents/branding.d.ts +2 -0
  159. package/dist/renderers/documents/branding.js +42 -0
  160. package/dist/renderers/documents/branding.js.map +1 -0
  161. package/dist/renderers/documents/entity-types.json +14 -0
  162. package/dist/renderers/documents/parser/frontmatter.d.ts +5 -0
  163. package/dist/renderers/documents/parser/frontmatter.js +90 -0
  164. package/dist/renderers/documents/parser/frontmatter.js.map +1 -0
  165. package/dist/renderers/documents/parser/index.d.ts +5 -0
  166. package/dist/renderers/documents/parser/index.js +142 -0
  167. package/dist/renderers/documents/parser/index.js.map +1 -0
  168. package/dist/renderers/documents/parser/sections.d.ts +18 -0
  169. package/dist/renderers/documents/parser/sections.js +131 -0
  170. package/dist/renderers/documents/parser/sections.js.map +1 -0
  171. package/dist/renderers/documents/pdf/generator.d.ts +13 -0
  172. package/dist/renderers/documents/pdf/generator.js +79 -0
  173. package/dist/renderers/documents/pdf/generator.js.map +1 -0
  174. package/dist/renderers/documents/plugin.d.ts +2 -0
  175. package/dist/renderers/documents/plugin.js +63 -0
  176. package/dist/renderers/documents/plugin.js.map +1 -0
  177. package/dist/renderers/documents/public/branding/logo.svg +3 -0
  178. package/dist/renderers/documents/public/fonts/fonts.css +145 -0
  179. package/dist/renderers/documents/public/viewer/viewer.css +1 -0
  180. package/dist/renderers/documents/public/viewer/viewer.js +4 -0
  181. package/dist/renderers/documents/renderer/back.d.ts +8 -0
  182. package/dist/renderers/documents/renderer/back.js +28 -0
  183. package/dist/renderers/documents/renderer/back.js.map +1 -0
  184. package/dist/renderers/documents/renderer/content.d.ts +7 -0
  185. package/dist/renderers/documents/renderer/content.js +25 -0
  186. package/dist/renderers/documents/renderer/content.js.map +1 -0
  187. package/dist/renderers/documents/renderer/cover.d.ts +15 -0
  188. package/dist/renderers/documents/renderer/cover.js +43 -0
  189. package/dist/renderers/documents/renderer/cover.js.map +1 -0
  190. package/dist/renderers/documents/renderer/helpers.d.ts +1 -0
  191. package/dist/renderers/documents/renderer/helpers.js +11 -0
  192. package/dist/renderers/documents/renderer/helpers.js.map +1 -0
  193. package/dist/renderers/documents/renderer/index.d.ts +32 -0
  194. package/dist/renderers/documents/renderer/index.js +80 -0
  195. package/dist/renderers/documents/renderer/index.js.map +1 -0
  196. package/dist/renderers/documents/renderer/styles.d.ts +16 -0
  197. package/dist/renderers/documents/renderer/styles.js +546 -0
  198. package/dist/renderers/documents/renderer/styles.js.map +1 -0
  199. package/dist/renderers/documents/routes/api.d.ts +2 -0
  200. package/dist/renderers/documents/routes/api.js +587 -0
  201. package/dist/renderers/documents/routes/api.js.map +1 -0
  202. package/dist/renderers/documents/routes/editor.d.ts +2 -0
  203. package/dist/renderers/documents/routes/editor.js.map +1 -0
  204. package/dist/renderers/documents/routes/viewer.d.ts +2 -0
  205. package/dist/renderers/documents/routes/viewer.js +67 -0
  206. package/dist/renderers/documents/routes/viewer.js.map +1 -0
  207. package/dist/renderers/documents/types.d.ts +61 -0
  208. package/dist/renderers/documents/types.js +2 -0
  209. package/dist/renderers/documents/types.js.map +1 -0
  210. package/dist/renderers/index.d.ts +24 -0
  211. package/dist/renderers/index.js +66 -0
  212. package/dist/renderers/index.js.map +1 -0
  213. package/dist/renderers/slides/design-system/tokens.d.ts +108 -0
  214. package/dist/renderers/slides/design-system/tokens.js +44 -0
  215. package/dist/renderers/slides/design-system/tokens.js.map +1 -0
  216. package/dist/renderers/slides/entity-types.json +14 -0
  217. package/dist/renderers/slides/parser/comment-parser.d.ts +10 -0
  218. package/dist/renderers/slides/parser/comment-parser.js +89 -0
  219. package/dist/renderers/slides/parser/comment-parser.js.map +1 -0
  220. package/dist/renderers/slides/parser/frontmatter.d.ts +10 -0
  221. package/dist/renderers/slides/parser/frontmatter.js +93 -0
  222. package/dist/renderers/slides/parser/frontmatter.js.map +1 -0
  223. package/dist/renderers/slides/parser/index.d.ts +7 -0
  224. package/dist/renderers/slides/parser/index.js +569 -0
  225. package/dist/renderers/slides/parser/index.js.map +1 -0
  226. package/dist/renderers/slides/parser/slide-splitter.d.ts +6 -0
  227. package/dist/renderers/slides/parser/slide-splitter.js +54 -0
  228. package/dist/renderers/slides/parser/slide-splitter.js.map +1 -0
  229. package/dist/renderers/slides/parser/type-detector.d.ts +6 -0
  230. package/dist/renderers/slides/parser/type-detector.js +70 -0
  231. package/dist/renderers/slides/parser/type-detector.js.map +1 -0
  232. package/dist/renderers/slides/pdf/generator.d.ts +11 -0
  233. package/dist/renderers/slides/pdf/generator.js +105 -0
  234. package/dist/renderers/slides/pdf/generator.js.map +1 -0
  235. package/dist/renderers/slides/plugin.d.ts +2 -0
  236. package/dist/renderers/slides/plugin.js +70 -0
  237. package/dist/renderers/slides/plugin.js.map +1 -0
  238. package/dist/renderers/slides/public/fonts/fonts.css +145 -0
  239. package/dist/renderers/slides/public/viewer/.gitkeep +0 -0
  240. package/dist/renderers/slides/public/viewer/chrome.css +62 -0
  241. package/dist/renderers/slides/public/viewer/transitions.css +1 -0
  242. package/dist/renderers/slides/public/viewer/viewer.css +2145 -0
  243. package/dist/renderers/slides/public/viewer/viewer.js +303 -0
  244. package/dist/renderers/slides/renderer/chrome/browser-frame.d.ts +5 -0
  245. package/dist/renderers/slides/renderer/chrome/browser-frame.js +22 -0
  246. package/dist/renderers/slides/renderer/chrome/browser-frame.js.map +1 -0
  247. package/dist/renderers/slides/renderer/chrome/mobile-frame.d.ts +6 -0
  248. package/dist/renderers/slides/renderer/chrome/mobile-frame.js +18 -0
  249. package/dist/renderers/slides/renderer/chrome/mobile-frame.js.map +1 -0
  250. package/dist/renderers/slides/renderer/helpers.d.ts +13 -0
  251. package/dist/renderers/slides/renderer/helpers.js +33 -0
  252. package/dist/renderers/slides/renderer/helpers.js.map +1 -0
  253. package/dist/renderers/slides/renderer/index.d.ts +16 -0
  254. package/dist/renderers/slides/renderer/index.js +160 -0
  255. package/dist/renderers/slides/renderer/index.js.map +1 -0
  256. package/dist/renderers/slides/renderer/layouts/agenda.d.ts +2 -0
  257. package/dist/renderers/slides/renderer/layouts/agenda.js +18 -0
  258. package/dist/renderers/slides/renderer/layouts/agenda.js.map +1 -0
  259. package/dist/renderers/slides/renderer/layouts/blank.d.ts +2 -0
  260. package/dist/renderers/slides/renderer/layouts/blank.js +4 -0
  261. package/dist/renderers/slides/renderer/layouts/blank.js.map +1 -0
  262. package/dist/renderers/slides/renderer/layouts/columns.d.ts +2 -0
  263. package/dist/renderers/slides/renderer/layouts/columns.js +32 -0
  264. package/dist/renderers/slides/renderer/layouts/columns.js.map +1 -0
  265. package/dist/renderers/slides/renderer/layouts/cover.d.ts +2 -0
  266. package/dist/renderers/slides/renderer/layouts/cover.js +18 -0
  267. package/dist/renderers/slides/renderer/layouts/cover.js.map +1 -0
  268. package/dist/renderers/slides/renderer/layouts/diagram-concentric.d.ts +2 -0
  269. package/dist/renderers/slides/renderer/layouts/diagram-concentric.js +120 -0
  270. package/dist/renderers/slides/renderer/layouts/diagram-concentric.js.map +1 -0
  271. package/dist/renderers/slides/renderer/layouts/diagram-matrix.d.ts +2 -0
  272. package/dist/renderers/slides/renderer/layouts/diagram-matrix.js +158 -0
  273. package/dist/renderers/slides/renderer/layouts/diagram-matrix.js.map +1 -0
  274. package/dist/renderers/slides/renderer/layouts/diagram-pyramid.d.ts +2 -0
  275. package/dist/renderers/slides/renderer/layouts/diagram-pyramid.js +86 -0
  276. package/dist/renderers/slides/renderer/layouts/diagram-pyramid.js.map +1 -0
  277. package/dist/renderers/slides/renderer/layouts/diagram-sitemap.d.ts +2 -0
  278. package/dist/renderers/slides/renderer/layouts/diagram-sitemap.js +146 -0
  279. package/dist/renderers/slides/renderer/layouts/diagram-sitemap.js.map +1 -0
  280. package/dist/renderers/slides/renderer/layouts/diagram-venn.d.ts +2 -0
  281. package/dist/renderers/slides/renderer/layouts/diagram-venn.js +100 -0
  282. package/dist/renderers/slides/renderer/layouts/diagram-venn.js.map +1 -0
  283. package/dist/renderers/slides/renderer/layouts/diagram.d.ts +2 -0
  284. package/dist/renderers/slides/renderer/layouts/diagram.js +21 -0
  285. package/dist/renderers/slides/renderer/layouts/diagram.js.map +1 -0
  286. package/dist/renderers/slides/renderer/layouts/divider.d.ts +2 -0
  287. package/dist/renderers/slides/renderer/layouts/divider.js +4 -0
  288. package/dist/renderers/slides/renderer/layouts/divider.js.map +1 -0
  289. package/dist/renderers/slides/renderer/layouts/end.d.ts +2 -0
  290. package/dist/renderers/slides/renderer/layouts/end.js +8 -0
  291. package/dist/renderers/slides/renderer/layouts/end.js.map +1 -0
  292. package/dist/renderers/slides/renderer/layouts/framework.d.ts +2 -0
  293. package/dist/renderers/slides/renderer/layouts/framework.js +47 -0
  294. package/dist/renderers/slides/renderer/layouts/framework.js.map +1 -0
  295. package/dist/renderers/slides/renderer/layouts/image-browser-2up.d.ts +2 -0
  296. package/dist/renderers/slides/renderer/layouts/image-browser-2up.js +38 -0
  297. package/dist/renderers/slides/renderer/layouts/image-browser-2up.js.map +1 -0
  298. package/dist/renderers/slides/renderer/layouts/image-browser-6up.d.ts +2 -0
  299. package/dist/renderers/slides/renderer/layouts/image-browser-6up.js +30 -0
  300. package/dist/renderers/slides/renderer/layouts/image-browser-6up.js.map +1 -0
  301. package/dist/renderers/slides/renderer/layouts/image-browser.d.ts +2 -0
  302. package/dist/renderers/slides/renderer/layouts/image-browser.js +18 -0
  303. package/dist/renderers/slides/renderer/layouts/image-browser.js.map +1 -0
  304. package/dist/renderers/slides/renderer/layouts/image-bullets.d.ts +2 -0
  305. package/dist/renderers/slides/renderer/layouts/image-bullets.js +26 -0
  306. package/dist/renderers/slides/renderer/layouts/image-bullets.js.map +1 -0
  307. package/dist/renderers/slides/renderer/layouts/image-device-pair.d.ts +2 -0
  308. package/dist/renderers/slides/renderer/layouts/image-device-pair.js +34 -0
  309. package/dist/renderers/slides/renderer/layouts/image-device-pair.js.map +1 -0
  310. package/dist/renderers/slides/renderer/layouts/image-full.d.ts +2 -0
  311. package/dist/renderers/slides/renderer/layouts/image-full.js +36 -0
  312. package/dist/renderers/slides/renderer/layouts/image-full.js.map +1 -0
  313. package/dist/renderers/slides/renderer/layouts/image-grid-2x2.d.ts +2 -0
  314. package/dist/renderers/slides/renderer/layouts/image-grid-2x2.js +23 -0
  315. package/dist/renderers/slides/renderer/layouts/image-grid-2x2.js.map +1 -0
  316. package/dist/renderers/slides/renderer/layouts/image-keywords.d.ts +2 -0
  317. package/dist/renderers/slides/renderer/layouts/image-keywords.js +31 -0
  318. package/dist/renderers/slides/renderer/layouts/image-keywords.js.map +1 -0
  319. package/dist/renderers/slides/renderer/layouts/image-mobile-3up.d.ts +2 -0
  320. package/dist/renderers/slides/renderer/layouts/image-mobile-3up.js +22 -0
  321. package/dist/renderers/slides/renderer/layouts/image-mobile-3up.js.map +1 -0
  322. package/dist/renderers/slides/renderer/layouts/image-mobile.d.ts +2 -0
  323. package/dist/renderers/slides/renderer/layouts/image-mobile.js +17 -0
  324. package/dist/renderers/slides/renderer/layouts/image-mobile.js.map +1 -0
  325. package/dist/renderers/slides/renderer/layouts/image-split-right.d.ts +2 -0
  326. package/dist/renderers/slides/renderer/layouts/image-split-right.js +19 -0
  327. package/dist/renderers/slides/renderer/layouts/image-split-right.js.map +1 -0
  328. package/dist/renderers/slides/renderer/layouts/image-split.d.ts +2 -0
  329. package/dist/renderers/slides/renderer/layouts/image-split.js +19 -0
  330. package/dist/renderers/slides/renderer/layouts/image-split.js.map +1 -0
  331. package/dist/renderers/slides/renderer/layouts/introductions.d.ts +2 -0
  332. package/dist/renderers/slides/renderer/layouts/introductions.js +41 -0
  333. package/dist/renderers/slides/renderer/layouts/introductions.js.map +1 -0
  334. package/dist/renderers/slides/renderer/layouts/moodboard.d.ts +15 -0
  335. package/dist/renderers/slides/renderer/layouts/moodboard.js +63 -0
  336. package/dist/renderers/slides/renderer/layouts/moodboard.js.map +1 -0
  337. package/dist/renderers/slides/renderer/layouts/next-steps.d.ts +2 -0
  338. package/dist/renderers/slides/renderer/layouts/next-steps.js +13 -0
  339. package/dist/renderers/slides/renderer/layouts/next-steps.js.map +1 -0
  340. package/dist/renderers/slides/renderer/layouts/pullquote.d.ts +2 -0
  341. package/dist/renderers/slides/renderer/layouts/pullquote.js +17 -0
  342. package/dist/renderers/slides/renderer/layouts/pullquote.js.map +1 -0
  343. package/dist/renderers/slides/renderer/layouts/schedule.d.ts +2 -0
  344. package/dist/renderers/slides/renderer/layouts/schedule.js +58 -0
  345. package/dist/renderers/slides/renderer/layouts/schedule.js.map +1 -0
  346. package/dist/renderers/slides/renderer/layouts/section.d.ts +2 -0
  347. package/dist/renderers/slides/renderer/layouts/section.js +18 -0
  348. package/dist/renderers/slides/renderer/layouts/section.js.map +1 -0
  349. package/dist/renderers/slides/renderer/layouts/statement.d.ts +2 -0
  350. package/dist/renderers/slides/renderer/layouts/statement.js +13 -0
  351. package/dist/renderers/slides/renderer/layouts/statement.js.map +1 -0
  352. package/dist/renderers/slides/renderer/layouts/stats.d.ts +2 -0
  353. package/dist/renderers/slides/renderer/layouts/stats.js +26 -0
  354. package/dist/renderers/slides/renderer/layouts/stats.js.map +1 -0
  355. package/dist/renderers/slides/renderer/layouts/table.d.ts +2 -0
  356. package/dist/renderers/slides/renderer/layouts/table.js +23 -0
  357. package/dist/renderers/slides/renderer/layouts/table.js.map +1 -0
  358. package/dist/renderers/slides/renderer/layouts/text-body.d.ts +2 -0
  359. package/dist/renderers/slides/renderer/layouts/text-body.js +14 -0
  360. package/dist/renderers/slides/renderer/layouts/text-body.js.map +1 -0
  361. package/dist/renderers/slides/renderer/placeholder.d.ts +5 -0
  362. package/dist/renderers/slides/renderer/placeholder.js +12 -0
  363. package/dist/renderers/slides/renderer/placeholder.js.map +1 -0
  364. package/dist/renderers/slides/routes/api.d.ts +2 -0
  365. package/dist/renderers/slides/routes/api.js +568 -0
  366. package/dist/renderers/slides/routes/api.js.map +1 -0
  367. package/dist/renderers/slides/routes/editor.d.ts +2 -0
  368. package/dist/renderers/slides/routes/editor.js.map +1 -0
  369. package/dist/renderers/slides/routes/viewer.d.ts +2 -0
  370. package/dist/renderers/slides/routes/viewer.js +67 -0
  371. package/dist/renderers/slides/routes/viewer.js.map +1 -0
  372. package/dist/renderers/slides/types.d.ts +111 -0
  373. package/dist/renderers/slides/types.js +2 -0
  374. package/dist/renderers/slides/types.js.map +1 -0
  375. package/dist/server/chrome/chrome.css +32 -22
  376. package/dist/server/chrome/chrome.js +17 -1
  377. package/dist/server/commit-audit.d.ts +26 -0
  378. package/dist/server/commit-audit.js +30 -0
  379. package/dist/server/commit-audit.js.map +1 -0
  380. package/dist/server/index.d.ts +1 -3
  381. package/dist/server/index.js +279 -128
  382. package/dist/server/index.js.map +1 -1
  383. package/dist/server/routes/asset-api.d.ts +10 -0
  384. package/dist/server/routes/asset-api.js +229 -0
  385. package/dist/server/routes/asset-api.js.map +1 -0
  386. package/dist/server/routes/auth-api.d.ts +3 -2
  387. package/dist/server/routes/auth-api.js +257 -23
  388. package/dist/server/routes/auth-api.js.map +1 -1
  389. package/dist/server/routes/capture-api.d.ts +18 -0
  390. package/dist/server/routes/capture-api.js +211 -0
  391. package/dist/server/routes/capture-api.js.map +1 -0
  392. package/dist/server/routes/chat.d.ts +2 -1
  393. package/dist/server/routes/chat.js +235 -87
  394. package/dist/server/routes/chat.js.map +1 -1
  395. package/dist/server/routes/config-api.d.ts +20 -0
  396. package/dist/server/routes/config-api.js +126 -0
  397. package/dist/server/routes/config-api.js.map +1 -0
  398. package/dist/server/routes/connectors-api.d.ts +17 -0
  399. package/dist/server/routes/connectors-api.js +275 -0
  400. package/dist/server/routes/connectors-api.js.map +1 -0
  401. package/dist/server/routes/features-api.d.ts +10 -0
  402. package/dist/server/routes/features-api.js +15 -0
  403. package/dist/server/routes/features-api.js.map +1 -0
  404. package/dist/server/routes/git-http.d.ts +3 -3
  405. package/dist/server/routes/git-http.js +69 -33
  406. package/dist/server/routes/git-http.js.map +1 -1
  407. package/dist/server/routes/graph-api.d.ts +3 -2
  408. package/dist/server/routes/graph-api.js +987 -153
  409. package/dist/server/routes/graph-api.js.map +1 -1
  410. package/dist/server/routes/health.d.ts +12 -0
  411. package/dist/server/routes/health.js +60 -0
  412. package/dist/server/routes/health.js.map +1 -0
  413. package/dist/server/routes/insights-api.d.ts +2 -2
  414. package/dist/server/routes/insights-api.js +175 -23
  415. package/dist/server/routes/insights-api.js.map +1 -1
  416. package/dist/server/routes/mcp.d.ts +6 -3
  417. package/dist/server/routes/mcp.js +20 -4
  418. package/dist/server/routes/mcp.js.map +1 -1
  419. package/dist/server/routes/meeting-ingest-api.d.ts +6 -6
  420. package/dist/server/routes/meeting-ingest-api.js +69 -269
  421. package/dist/server/routes/meeting-ingest-api.js.map +1 -1
  422. package/dist/server/routes/messages-api.d.ts +15 -0
  423. package/dist/server/routes/messages-api.js +572 -0
  424. package/dist/server/routes/messages-api.js.map +1 -0
  425. package/dist/server/routes/permissions-api.d.ts +9 -2
  426. package/dist/server/routes/permissions-api.js +87 -30
  427. package/dist/server/routes/permissions-api.js.map +1 -1
  428. package/dist/server/routes/share-api.d.ts +10 -0
  429. package/dist/server/routes/share-api.js +51 -0
  430. package/dist/server/routes/share-api.js.map +1 -0
  431. package/dist/server/routes/url-api.d.ts +7 -0
  432. package/dist/server/routes/url-api.js +74 -0
  433. package/dist/server/routes/url-api.js.map +1 -0
  434. package/dist/server/routes/view-public.d.ts +10 -0
  435. package/dist/server/routes/view-public.js +107 -0
  436. package/dist/server/routes/view-public.js.map +1 -0
  437. package/dist/server/routes/views-api.js +24 -7
  438. package/dist/server/routes/views-api.js.map +1 -1
  439. package/dist/server/routes/workspace-api.d.ts +2 -1
  440. package/dist/server/routes/workspace-api.js +93 -22
  441. package/dist/server/routes/workspace-api.js.map +1 -1
  442. package/dist/server/routes/ws.d.ts +2 -1
  443. package/dist/server/routes/ws.js +61 -16
  444. package/dist/server/routes/ws.js.map +1 -1
  445. package/dist/server/session-manager.d.ts +48 -5
  446. package/dist/server/session-manager.js +175 -12
  447. package/dist/server/session-manager.js.map +1 -1
  448. package/dist/server/ws-hub.d.ts +161 -12
  449. package/dist/server/ws-hub.js +0 -0
  450. package/dist/server/ws-hub.js.map +1 -1
  451. package/dist/server/yjs-manager.d.ts +55 -2
  452. package/dist/server/yjs-manager.js +380 -20
  453. package/dist/server/yjs-manager.js.map +1 -1
  454. package/dist/services/access-control.d.ts +53 -0
  455. package/dist/services/access-control.js +132 -0
  456. package/dist/services/access-control.js.map +1 -0
  457. package/dist/services/asset-upload-service.d.ts +53 -0
  458. package/dist/services/asset-upload-service.js +199 -0
  459. package/dist/services/asset-upload-service.js.map +1 -0
  460. package/dist/services/assets/base.d.ts +31 -0
  461. package/dist/services/assets/base.js +63 -0
  462. package/dist/services/assets/base.js.map +1 -1
  463. package/dist/services/assets/index.d.ts +23 -1
  464. package/dist/services/assets/index.js +24 -0
  465. package/dist/services/assets/index.js.map +1 -1
  466. package/dist/services/assets/local.d.ts +7 -1
  467. package/dist/services/assets/local.js +83 -0
  468. package/dist/services/assets/local.js.map +1 -1
  469. package/dist/services/assets/r2.d.ts +7 -1
  470. package/dist/services/assets/r2.js +47 -0
  471. package/dist/services/assets/r2.js.map +1 -1
  472. package/dist/services/auth-service.d.ts +147 -26
  473. package/dist/services/auth-service.js +508 -100
  474. package/dist/services/auth-service.js.map +1 -1
  475. package/dist/services/batch-processor.d.ts +49 -0
  476. package/dist/services/batch-processor.js +166 -0
  477. package/dist/services/batch-processor.js.map +1 -0
  478. package/dist/services/bookmark-import-service.d.ts +49 -0
  479. package/dist/services/bookmark-import-service.js +250 -0
  480. package/dist/services/bookmark-import-service.js.map +1 -0
  481. package/dist/services/briefing.d.ts +26 -0
  482. package/dist/services/briefing.js +206 -0
  483. package/dist/services/briefing.js.map +1 -0
  484. package/dist/services/folder-creation.d.ts +33 -0
  485. package/dist/services/folder-creation.js +103 -0
  486. package/dist/services/folder-creation.js.map +1 -0
  487. package/dist/services/git.d.ts +9 -0
  488. package/dist/services/git.js +51 -10
  489. package/dist/services/git.js.map +1 -1
  490. package/dist/services/graph-maintenance.d.ts +42 -0
  491. package/dist/services/graph-maintenance.js +143 -0
  492. package/dist/services/graph-maintenance.js.map +1 -0
  493. package/dist/services/heartbeat.d.ts +35 -0
  494. package/dist/services/heartbeat.js +237 -0
  495. package/dist/services/heartbeat.js.map +1 -0
  496. package/dist/services/image-import-service.d.ts +24 -0
  497. package/dist/services/image-import-service.js +108 -0
  498. package/dist/services/image-import-service.js.map +1 -0
  499. package/dist/services/import-service.d.ts +40 -2
  500. package/dist/services/import-service.js +299 -44
  501. package/dist/services/import-service.js.map +1 -1
  502. package/dist/services/insights.js +28 -5
  503. package/dist/services/insights.js.map +1 -1
  504. package/dist/services/markdown.js +6 -2
  505. package/dist/services/markdown.js.map +1 -1
  506. package/dist/services/meeting-processor.d.ts +99 -0
  507. package/dist/services/meeting-processor.js +418 -0
  508. package/dist/services/meeting-processor.js.map +1 -0
  509. package/dist/services/memory-service.d.ts +22 -14
  510. package/dist/services/memory-service.js +53 -35
  511. package/dist/services/memory-service.js.map +1 -1
  512. package/dist/services/message-service.d.ts +109 -0
  513. package/dist/services/message-service.js +337 -0
  514. package/dist/services/message-service.js.map +1 -0
  515. package/dist/services/personal-folder.d.ts +40 -0
  516. package/dist/services/personal-folder.js +101 -0
  517. package/dist/services/personal-folder.js.map +1 -0
  518. package/dist/services/vector-service.d.ts +20 -2
  519. package/dist/services/vector-service.js +46 -5
  520. package/dist/services/vector-service.js.map +1 -1
  521. package/dist/web/_app/immutable/assets/0.-qngGQU8.css +2 -0
  522. package/dist/web/_app/immutable/assets/11.DlIf1mKh.css +1 -0
  523. package/dist/web/_app/immutable/assets/12.Dmlt28l2.css +1 -0
  524. package/dist/web/_app/immutable/assets/13.CmLrbzZp.css +1 -0
  525. package/dist/web/_app/immutable/assets/2.8vhe1QVL.css +1 -0
  526. package/dist/web/_app/immutable/assets/3.BYrcAT0o.css +1 -0
  527. package/dist/web/_app/immutable/assets/4._2q8pEHp.css +1 -0
  528. package/dist/web/_app/immutable/assets/AgentOverlay.DixRH9Js.css +1 -0
  529. package/dist/web/_app/immutable/assets/AssetManagerModal.ZfasE2L3.css +1 -0
  530. package/dist/web/_app/immutable/assets/CalendarView.Bz4nZCx5.css +1 -0
  531. package/dist/web/_app/immutable/assets/ChatPanel.po0gYtVH.css +1 -0
  532. package/dist/web/_app/immutable/assets/FolderMembersPanel.Bepw-r0F.css +1 -0
  533. package/dist/web/_app/immutable/assets/FolderMutationDialogs.BMRF6Z3z.css +1 -0
  534. package/dist/web/_app/immutable/assets/FolderPicker.B5KdvRYl.css +1 -0
  535. package/dist/web/_app/immutable/assets/GalleryView.CaCHvYwi.css +1 -0
  536. package/dist/web/_app/immutable/assets/GraphView.BHnGIltS.css +1 -0
  537. package/dist/web/_app/immutable/assets/SettingsDialog.Bc3J0nDd.css +1 -0
  538. package/dist/web/_app/immutable/assets/TagPickerSheet.DJPuqnTg.css +1 -0
  539. package/dist/web/_app/immutable/assets/WorkspaceView.CEYT8yGK.css +1 -0
  540. package/dist/web/_app/immutable/assets/button.BlLm4Dg1.css +1 -0
  541. package/dist/web/_app/immutable/assets/dialog.BxVal_19.css +1 -0
  542. package/dist/web/_app/immutable/assets/dist.DDCWxn3B.css +1 -0
  543. package/dist/web/_app/immutable/assets/dropdown-menu.BSsUUQ3o.css +1 -0
  544. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff +0 -0
  545. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2 +0 -0
  546. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff +0 -0
  547. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2 +0 -0
  548. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2 +0 -0
  549. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff +0 -0
  550. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2 +0 -0
  551. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff +0 -0
  552. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.BNK2_mGO.woff2 +0 -0
  553. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.DpEwFAQM.woff +0 -0
  554. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2 +0 -0
  555. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff +0 -0
  556. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff +0 -0
  557. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2 +0 -0
  558. package/dist/web/_app/immutable/assets/inline-list.DORLo4xF.css +1 -0
  559. package/dist/web/_app/immutable/assets/notifications.clodJdp5.css +1 -0
  560. package/dist/web/_app/immutable/assets/presence.GJJRVPUJ.css +1 -0
  561. package/dist/web/_app/immutable/assets/select.D_AV992j.css +1 -0
  562. package/dist/web/_app/immutable/chunks/0YfY4WC7.js +1 -0
  563. package/dist/web/_app/immutable/chunks/1k-LJ8Y8.js +1 -0
  564. package/dist/web/_app/immutable/chunks/1swuWs29.js +3 -0
  565. package/dist/web/_app/immutable/chunks/4x3B4RM0.js +1 -0
  566. package/dist/web/_app/immutable/chunks/6Ie1X7Vc2.js +1 -0
  567. package/dist/web/_app/immutable/chunks/8xxHULzF2.js +1 -0
  568. package/dist/web/_app/immutable/chunks/AwI-F2v72.js +6 -0
  569. package/dist/web/_app/immutable/chunks/B-bHt83e.js +1 -0
  570. package/dist/web/_app/immutable/chunks/B6DITMtP.js +1 -0
  571. package/dist/web/_app/immutable/chunks/B6ueGc4A.js +1 -0
  572. package/dist/web/_app/immutable/chunks/BBn1oSfc.js +1 -0
  573. package/dist/web/_app/immutable/chunks/BFEF4lmd2.js +2 -0
  574. package/dist/web/_app/immutable/chunks/BFlicbeo2.js +1 -0
  575. package/dist/web/_app/immutable/chunks/BGQdV0tc2.js +23 -0
  576. package/dist/web/_app/immutable/chunks/BIPPKvNe.js +2 -0
  577. package/dist/web/_app/immutable/chunks/BMa9zwUU.js +64 -0
  578. package/dist/web/_app/immutable/chunks/BNTlsKDJ.js +1 -0
  579. package/dist/web/_app/immutable/chunks/BTVpmOVM.js +1 -0
  580. package/dist/web/_app/immutable/chunks/BYILrLJK.js +1 -0
  581. package/dist/web/_app/immutable/chunks/BYac2IM72.js +1 -0
  582. package/dist/web/_app/immutable/chunks/BajUCO-P.js +1 -0
  583. package/dist/web/_app/immutable/chunks/BcByWrxh2.js +1 -0
  584. package/dist/web/_app/immutable/chunks/BfBuflBh2.js +1 -0
  585. package/dist/web/_app/immutable/chunks/BfnyuOzG.js +1 -0
  586. package/dist/web/_app/immutable/chunks/BfwYWmwF.js +1 -0
  587. package/dist/web/_app/immutable/chunks/Bn_rVH68.js +1 -0
  588. package/dist/web/_app/immutable/chunks/Bni85HMi.js +8 -0
  589. package/dist/web/_app/immutable/chunks/Bq4V4cTS2.js +22 -0
  590. package/dist/web/_app/immutable/chunks/BroZXeM3.js +1 -0
  591. package/dist/web/_app/immutable/chunks/BsPcMDGH.js +1 -0
  592. package/dist/web/_app/immutable/chunks/BzwhhnBr2.js +1 -0
  593. package/dist/web/_app/immutable/chunks/C-OaypFN.js +1 -0
  594. package/dist/web/_app/immutable/chunks/C0j6A-ZP.js +5 -0
  595. package/dist/web/_app/immutable/chunks/C1jMJx1E2.js +14 -0
  596. package/dist/web/_app/immutable/chunks/C1t8sggk.js +1 -0
  597. package/dist/web/_app/immutable/chunks/C89AZ7wA.js +4 -0
  598. package/dist/web/_app/immutable/chunks/C8LGXx0D.js +1 -0
  599. package/dist/web/_app/immutable/chunks/CLDROiPL2.js +2 -0
  600. package/dist/web/_app/immutable/chunks/CLwoEBak.js +1 -0
  601. package/dist/web/_app/immutable/chunks/CNk9Yet7.js +2 -0
  602. package/dist/web/_app/immutable/chunks/CO8NsS3p2.js +1 -0
  603. package/dist/web/_app/immutable/chunks/COtNXLuY2.js +1 -0
  604. package/dist/web/_app/immutable/chunks/CQVGSk02.js +1 -0
  605. package/dist/web/_app/immutable/chunks/CSI5Ok2P.js +2 -0
  606. package/dist/web/_app/immutable/chunks/CU0XKUqM2.js +156 -0
  607. package/dist/web/_app/immutable/chunks/CWky2bMb.js +1 -0
  608. package/dist/web/_app/immutable/chunks/Ca06pNL42.js +1 -0
  609. package/dist/web/_app/immutable/chunks/Cb59VtQS.js +1 -0
  610. package/dist/web/_app/immutable/chunks/Cblzyo1K2.js +1 -0
  611. package/dist/web/_app/immutable/chunks/CcnCwh2d2.js +184 -0
  612. package/dist/web/_app/immutable/chunks/CeHfQfUS2.js +1 -0
  613. package/dist/web/_app/immutable/chunks/CfL16jWX.js +1 -0
  614. package/dist/web/_app/immutable/chunks/CglnXwFw2.js +1 -0
  615. package/dist/web/_app/immutable/chunks/Ciqeu-2O.js +1 -0
  616. package/dist/web/_app/immutable/chunks/CkMSCDZN.js +1 -0
  617. package/dist/web/_app/immutable/chunks/CmerH-o-.js +11 -0
  618. package/dist/web/_app/immutable/chunks/CnhEjUAT.js +2 -0
  619. package/dist/web/_app/immutable/chunks/Cqanu9ev.js +1 -0
  620. package/dist/web/_app/immutable/chunks/Ct8_vF46.js +1 -0
  621. package/dist/web/_app/immutable/chunks/Cxg5RqVG.js +1 -0
  622. package/dist/web/_app/immutable/chunks/Cz9lz73i2.js +1 -0
  623. package/dist/web/_app/immutable/chunks/CzYIrvPF2.js +1 -0
  624. package/dist/web/_app/immutable/chunks/D-S790ZE.js +1 -0
  625. package/dist/web/_app/immutable/chunks/D-fOfpFk.js +1 -0
  626. package/dist/web/_app/immutable/chunks/D0J5EMib2.js +1 -0
  627. package/dist/web/_app/immutable/chunks/D0lk1atG2.js +1 -0
  628. package/dist/web/_app/immutable/chunks/D4PsTUl1.js +1 -0
  629. package/dist/web/_app/immutable/chunks/D6gh0sT6.js +5 -0
  630. package/dist/web/_app/immutable/chunks/D8UWA8pA2.js +1 -0
  631. package/dist/web/_app/immutable/chunks/D9lVSeIS.js +1 -0
  632. package/dist/web/_app/immutable/chunks/DB9Ne64o2.js +3 -0
  633. package/dist/web/_app/immutable/chunks/DCxGAACD2.js +1 -0
  634. package/dist/web/_app/immutable/chunks/DD9LkrkR2.js +1 -0
  635. package/dist/web/_app/immutable/chunks/DEIOmPz3.js +1 -0
  636. package/dist/web/_app/immutable/chunks/DFJtJ__Y.js +1 -0
  637. package/dist/web/_app/immutable/chunks/DJyAFsFW.js +2 -0
  638. package/dist/web/_app/immutable/chunks/DKiPBGVc2.js +83 -0
  639. package/dist/web/_app/immutable/chunks/DM4HrWEg2.js +1 -0
  640. package/dist/web/_app/immutable/chunks/DO9NC64s2.js +1 -0
  641. package/dist/web/_app/immutable/chunks/DOky7B5T.js +6 -0
  642. package/dist/web/_app/immutable/chunks/DPHJu-Bj.js +5 -0
  643. package/dist/web/_app/immutable/chunks/DR05iaVQ.js +1 -0
  644. package/dist/web/_app/immutable/chunks/DREqAq0K.js +1 -0
  645. package/dist/web/_app/immutable/chunks/DSxR0rSG.js +3 -0
  646. package/dist/web/_app/immutable/chunks/DTopBtmz.js +1 -0
  647. package/dist/web/_app/immutable/chunks/DUfV89y8.js +1 -0
  648. package/dist/web/_app/immutable/chunks/DUoaAlBS.js +1 -0
  649. package/dist/web/_app/immutable/chunks/DVYL1nPo.js +1 -0
  650. package/dist/web/_app/immutable/chunks/DVm0Er6V.js +1 -0
  651. package/dist/web/_app/immutable/chunks/DY7tny6G2.js +1 -0
  652. package/dist/web/_app/immutable/chunks/DZ9mA0KH.js +1 -0
  653. package/dist/web/_app/immutable/chunks/Deci1exx2.js +224 -0
  654. package/dist/web/_app/immutable/chunks/DetC8BhN2.js +1 -0
  655. package/dist/web/_app/immutable/chunks/DlTrN5Ec.js +1 -0
  656. package/dist/web/_app/immutable/chunks/DmKg12YX2.js +1 -0
  657. package/dist/web/_app/immutable/chunks/DnK9s4gC.js +4 -0
  658. package/dist/web/_app/immutable/chunks/DpPXoxTU.js +1 -0
  659. package/dist/web/_app/immutable/chunks/DqyI8W4e2.js +1 -0
  660. package/dist/web/_app/immutable/chunks/Dx0Uwf5m.js +1 -0
  661. package/dist/web/_app/immutable/chunks/DxV48Rhs.js +1 -0
  662. package/dist/web/_app/immutable/chunks/DyGzkSSJ2.js +1 -0
  663. package/dist/web/_app/immutable/chunks/GMUo36Tv.js +1 -0
  664. package/dist/web/_app/immutable/chunks/IgGpTJTG.js +3 -0
  665. package/dist/web/_app/immutable/chunks/IygN8LXl2.js +1 -0
  666. package/dist/web/_app/immutable/chunks/Lu0f3trE2.js +1 -0
  667. package/dist/web/_app/immutable/chunks/M28-PWNQ.js +1 -0
  668. package/dist/web/_app/immutable/chunks/MarJFAAy.js +1 -0
  669. package/dist/web/_app/immutable/chunks/OJLJj9J22.js +1 -0
  670. package/dist/web/_app/immutable/chunks/PjBdNa5U.js +1 -0
  671. package/dist/web/_app/immutable/chunks/QT4tG1tY.js +1 -0
  672. package/dist/web/_app/immutable/chunks/Ttel-lK0.js +1 -0
  673. package/dist/web/_app/immutable/chunks/UMOac6IL.js +7 -0
  674. package/dist/web/_app/immutable/chunks/Vj61qC7U2.js +1 -0
  675. package/dist/web/_app/immutable/chunks/Yz4-RatT2.js +41 -0
  676. package/dist/web/_app/immutable/chunks/ZNTdtOVo.js +1 -0
  677. package/dist/web/_app/immutable/chunks/_kexQufO2.js +185 -0
  678. package/dist/web/_app/immutable/chunks/_x8hB8Co.js +1 -0
  679. package/dist/web/_app/immutable/chunks/aTJoToLX.js +1 -0
  680. package/dist/web/_app/immutable/chunks/dk79wQ7p.js +1 -0
  681. package/dist/web/_app/immutable/chunks/fPcnaq1h.js +1 -0
  682. package/dist/web/_app/immutable/chunks/j3VMRteR.js +2 -0
  683. package/dist/web/_app/immutable/chunks/k8Pka4vk.js +1 -0
  684. package/dist/web/_app/immutable/chunks/kp7D74fM2.js +1 -0
  685. package/dist/web/_app/immutable/chunks/oAeTZdnE.js +1 -0
  686. package/dist/web/_app/immutable/chunks/oTtTtXgi.js +1 -0
  687. package/dist/web/_app/immutable/chunks/t62M88qj.js +1 -0
  688. package/dist/web/_app/immutable/chunks/uMXHPqgW2.js +1 -0
  689. package/dist/web/_app/immutable/chunks/uqxmB78b.js +1 -0
  690. package/dist/web/_app/immutable/chunks/yZ7HP41L.js +2487 -0
  691. package/dist/web/_app/immutable/entry/app.Dn9XyTGH.js +2 -0
  692. package/dist/web/_app/immutable/entry/start.CCkikkiR.js +1 -0
  693. package/dist/web/_app/immutable/nodes/0.CINT8old.js +2 -0
  694. package/dist/web/_app/immutable/nodes/1.CjP4dMBL.js +1 -0
  695. package/dist/web/_app/immutable/nodes/10.DXFKYija.js +1 -0
  696. package/dist/web/_app/immutable/nodes/11.DcUkHEqc.js +1 -0
  697. package/dist/web/_app/immutable/nodes/12.DkECNIxo.js +1 -0
  698. package/dist/web/_app/immutable/nodes/13.BDxAM4lD.js +1 -0
  699. package/dist/web/_app/immutable/nodes/2.B8LmljrK.js +130 -0
  700. package/dist/web/_app/immutable/nodes/3.Vbl4t1C-.js +2 -0
  701. package/dist/web/_app/immutable/nodes/4.hnHG6JoS.js +11 -0
  702. package/dist/web/_app/immutable/nodes/5.BC_J7pnE.js +1 -0
  703. package/dist/web/_app/immutable/nodes/6.y25hE-n2.js +1 -0
  704. package/dist/web/_app/immutable/nodes/7.oruPLmEv.js +1 -0
  705. package/dist/web/_app/immutable/nodes/8.D-qE5tLz.js +1 -0
  706. package/dist/web/_app/immutable/nodes/9.CZWvjcUM.js +1 -0
  707. package/dist/web/_app/version.json +1 -1
  708. package/dist/web/favicon-16.png +0 -0
  709. package/dist/web/favicon-180.png +0 -0
  710. package/dist/web/favicon-32.png +0 -0
  711. package/dist/web/favicon-48.png +0 -0
  712. package/dist/web/favicon-512.png +0 -0
  713. package/dist/web/favicon.ico +0 -0
  714. package/dist/web/favicon.svg +8 -0
  715. package/dist/web/index.html +62 -16
  716. package/dist/web/studiograph-logomark.svg +29 -0
  717. package/package.json +14 -12
  718. package/dist/agent/skills/obsidian-source-setup.md +0 -246
  719. package/dist/agent/skills/skill-loader.d.ts +0 -48
  720. package/dist/agent/skills/skill-loader.js +0 -166
  721. package/dist/agent/skills/skill-loader.js.map +0 -1
  722. package/dist/agent/tools/sync-tools.d.ts +0 -35
  723. package/dist/agent/tools/sync-tools.js +0 -992
  724. package/dist/agent/tools/sync-tools.js.map +0 -1
  725. package/dist/auth/github.d.ts +0 -56
  726. package/dist/auth/github.js +0 -169
  727. package/dist/auth/github.js.map +0 -1
  728. package/dist/cli/commands/access.d.ts +0 -11
  729. package/dist/cli/commands/access.js +0 -156
  730. package/dist/cli/commands/access.js.map +0 -1
  731. package/dist/cli/commands/auth.d.ts +0 -10
  732. package/dist/cli/commands/auth.js +0 -79
  733. package/dist/cli/commands/auth.js.map +0 -1
  734. package/dist/cli/commands/enrich.d.ts +0 -11
  735. package/dist/cli/commands/enrich.js +0 -135
  736. package/dist/cli/commands/enrich.js.map +0 -1
  737. package/dist/cli/commands/graphrag.d.ts +0 -12
  738. package/dist/cli/commands/graphrag.js +0 -122
  739. package/dist/cli/commands/graphrag.js.map +0 -1
  740. package/dist/cli/commands/members.d.ts +0 -11
  741. package/dist/cli/commands/members.js +0 -230
  742. package/dist/cli/commands/members.js.map +0 -1
  743. package/dist/cli/commands/org.d.ts +0 -10
  744. package/dist/cli/commands/org.js +0 -132
  745. package/dist/cli/commands/org.js.map +0 -1
  746. package/dist/cli/commands/provision.d.ts +0 -8
  747. package/dist/cli/commands/provision.js +0 -116
  748. package/dist/cli/commands/provision.js.map +0 -1
  749. package/dist/cli/commands/resolve.d.ts +0 -8
  750. package/dist/cli/commands/resolve.js +0 -85
  751. package/dist/cli/commands/resolve.js.map +0 -1
  752. package/dist/cli/commands/review.d.ts +0 -19
  753. package/dist/cli/commands/review.js +0 -128
  754. package/dist/cli/commands/review.js.map +0 -1
  755. package/dist/cli/commands/source.d.ts +0 -16
  756. package/dist/cli/commands/source.js +0 -159
  757. package/dist/cli/commands/source.js.map +0 -1
  758. package/dist/cli/commands/sync-collection.d.ts +0 -14
  759. package/dist/cli/commands/sync-collection.js +0 -355
  760. package/dist/cli/commands/sync-collection.js.map +0 -1
  761. package/dist/cli/commands/sync-entities.d.ts +0 -13
  762. package/dist/cli/commands/sync-entities.js +0 -242
  763. package/dist/cli/commands/sync-entities.js.map +0 -1
  764. package/dist/cli/commands/team.d.ts +0 -12
  765. package/dist/cli/commands/team.js +0 -185
  766. package/dist/cli/commands/team.js.map +0 -1
  767. package/dist/cli/sync-review-interactive.d.ts +0 -31
  768. package/dist/cli/sync-review-interactive.js +0 -393
  769. package/dist/cli/sync-review-interactive.js.map +0 -1
  770. package/dist/core/migration-runner.d.ts +0 -42
  771. package/dist/core/migration-runner.js +0 -232
  772. package/dist/core/migration-runner.js.map +0 -1
  773. package/dist/core/migration-types.d.ts +0 -101
  774. package/dist/core/migration-types.js +0 -21
  775. package/dist/core/migration-types.js.map +0 -1
  776. package/dist/core/migrations/20260219-formalize-memory-location.d.ts +0 -2
  777. package/dist/core/migrations/20260219-formalize-memory-location.js +0 -35
  778. package/dist/core/migrations/20260219-formalize-memory-location.js.map +0 -1
  779. package/dist/core/migrations/20260220-add-workspace-metadata.d.ts +0 -12
  780. package/dist/core/migrations/20260220-add-workspace-metadata.js +0 -65
  781. package/dist/core/migrations/20260220-add-workspace-metadata.js.map +0 -1
  782. package/dist/core/migrations/20260220-add-workspace-readme.d.ts +0 -11
  783. package/dist/core/migrations/20260220-add-workspace-readme.js +0 -82
  784. package/dist/core/migrations/20260220-add-workspace-readme.js.map +0 -1
  785. package/dist/core/migrations/20260220-migrate-yaml-to-json.d.ts +0 -9
  786. package/dist/core/migrations/20260220-migrate-yaml-to-json.js +0 -64
  787. package/dist/core/migrations/20260220-migrate-yaml-to-json.js.map +0 -1
  788. package/dist/core/migrations/index.d.ts +0 -11
  789. package/dist/core/migrations/index.js +0 -23
  790. package/dist/core/migrations/index.js.map +0 -1
  791. package/dist/integrations/asana.d.ts +0 -26
  792. package/dist/integrations/asana.js +0 -78
  793. package/dist/integrations/asana.js.map +0 -1
  794. package/dist/integrations/figma-local.d.ts +0 -16
  795. package/dist/integrations/figma-local.js +0 -10
  796. package/dist/integrations/figma-local.js.map +0 -1
  797. package/dist/integrations/figma.d.ts +0 -17
  798. package/dist/integrations/figma.js +0 -17
  799. package/dist/integrations/figma.js.map +0 -1
  800. package/dist/integrations/granola.d.ts +0 -24
  801. package/dist/integrations/granola.js +0 -60
  802. package/dist/integrations/granola.js.map +0 -1
  803. package/dist/integrations/linear.d.ts +0 -14
  804. package/dist/integrations/linear.js +0 -80
  805. package/dist/integrations/linear.js.map +0 -1
  806. package/dist/integrations/paper-local.d.ts +0 -14
  807. package/dist/integrations/paper-local.js +0 -10
  808. package/dist/integrations/paper-local.js.map +0 -1
  809. package/dist/integrations/paper.d.ts +0 -2
  810. package/dist/integrations/paper.js +0 -10
  811. package/dist/integrations/paper.js.map +0 -1
  812. package/dist/integrations/pipedrive.d.ts +0 -26
  813. package/dist/integrations/pipedrive.js +0 -97
  814. package/dist/integrations/pipedrive.js.map +0 -1
  815. package/dist/mcp/connectors/asana.d.ts +0 -2
  816. package/dist/mcp/connectors/asana.js +0 -20
  817. package/dist/mcp/connectors/asana.js.map +0 -1
  818. package/dist/mcp/connectors/definitions.d.ts +0 -45
  819. package/dist/mcp/connectors/definitions.js +0 -32
  820. package/dist/mcp/connectors/definitions.js.map +0 -1
  821. package/dist/mcp/connectors/figma.d.ts +0 -5
  822. package/dist/mcp/connectors/figma.js +0 -21
  823. package/dist/mcp/connectors/figma.js.map +0 -1
  824. package/dist/mcp/connectors/gdrive.d.ts +0 -2
  825. package/dist/mcp/connectors/gdrive.js +0 -20
  826. package/dist/mcp/connectors/gdrive.js.map +0 -1
  827. package/dist/mcp/connectors/granola.d.ts +0 -2
  828. package/dist/mcp/connectors/granola.js +0 -12
  829. package/dist/mcp/connectors/granola.js.map +0 -1
  830. package/dist/mcp/connectors/linear.d.ts +0 -2
  831. package/dist/mcp/connectors/linear.js +0 -19
  832. package/dist/mcp/connectors/linear.js.map +0 -1
  833. package/dist/mcp/connectors/obsidian.d.ts +0 -2
  834. package/dist/mcp/connectors/obsidian.js +0 -19
  835. package/dist/mcp/connectors/obsidian.js.map +0 -1
  836. package/dist/mcp/connectors/pipedrive.d.ts +0 -2
  837. package/dist/mcp/connectors/pipedrive.js +0 -20
  838. package/dist/mcp/connectors/pipedrive.js.map +0 -1
  839. package/dist/mcp/connectors/slack.d.ts +0 -2
  840. package/dist/mcp/connectors/slack.js +0 -21
  841. package/dist/mcp/connectors/slack.js.map +0 -1
  842. package/dist/mcp/server-oauth-provider.d.ts +0 -56
  843. package/dist/mcp/server-oauth-provider.js +0 -142
  844. package/dist/mcp/server-oauth-provider.js.map +0 -1
  845. package/dist/server/collab-authority.d.ts +0 -70
  846. package/dist/server/collab-authority.js +0 -218
  847. package/dist/server/collab-authority.js.map +0 -1
  848. package/dist/server/collab.d.ts +0 -29
  849. package/dist/server/collab.js +0 -195
  850. package/dist/server/collab.js.map +0 -1
  851. package/dist/server/routes/collab.d.ts +0 -6
  852. package/dist/server/routes/collab.js +0 -10
  853. package/dist/server/routes/collab.js.map +0 -1
  854. package/dist/server/routes/git-api.d.ts +0 -9
  855. package/dist/server/routes/git-api.js +0 -82
  856. package/dist/server/routes/git-api.js.map +0 -1
  857. package/dist/server/routes/sync-api.d.ts +0 -26
  858. package/dist/server/routes/sync-api.js +0 -814
  859. package/dist/server/routes/sync-api.js.map +0 -1
  860. package/dist/server/routes/webhook.d.ts +0 -14
  861. package/dist/server/routes/webhook.js +0 -102
  862. package/dist/server/routes/webhook.js.map +0 -1
  863. package/dist/services/github-provisioner.d.ts +0 -36
  864. package/dist/services/github-provisioner.js +0 -126
  865. package/dist/services/github-provisioner.js.map +0 -1
  866. package/dist/services/github-service.d.ts +0 -99
  867. package/dist/services/github-service.js +0 -310
  868. package/dist/services/github-service.js.map +0 -1
  869. package/dist/services/sync/collection-sync.d.ts +0 -60
  870. package/dist/services/sync/collection-sync.js +0 -509
  871. package/dist/services/sync/collection-sync.js.map +0 -1
  872. package/dist/services/sync/commit.d.ts +0 -60
  873. package/dist/services/sync/commit.js +0 -354
  874. package/dist/services/sync/commit.js.map +0 -1
  875. package/dist/services/sync/context-index.d.ts +0 -69
  876. package/dist/services/sync/context-index.js +0 -280
  877. package/dist/services/sync/context-index.js.map +0 -1
  878. package/dist/services/sync/data-fetcher.d.ts +0 -31
  879. package/dist/services/sync/data-fetcher.js +0 -12
  880. package/dist/services/sync/data-fetcher.js.map +0 -1
  881. package/dist/services/sync/derive.d.ts +0 -34
  882. package/dist/services/sync/derive.js +0 -164
  883. package/dist/services/sync/derive.js.map +0 -1
  884. package/dist/services/sync/enrichment-state.d.ts +0 -31
  885. package/dist/services/sync/enrichment-state.js +0 -63
  886. package/dist/services/sync/enrichment-state.js.map +0 -1
  887. package/dist/services/sync/enrichment.d.ts +0 -25
  888. package/dist/services/sync/enrichment.js +0 -121
  889. package/dist/services/sync/enrichment.js.map +0 -1
  890. package/dist/services/sync/entity-refresh.d.ts +0 -30
  891. package/dist/services/sync/entity-refresh.js +0 -275
  892. package/dist/services/sync/entity-refresh.js.map +0 -1
  893. package/dist/services/sync/frontmatter-extractor.d.ts +0 -40
  894. package/dist/services/sync/frontmatter-extractor.js +0 -279
  895. package/dist/services/sync/frontmatter-extractor.js.map +0 -1
  896. package/dist/services/sync/graph-match-state.d.ts +0 -33
  897. package/dist/services/sync/graph-match-state.js +0 -61
  898. package/dist/services/sync/graph-match-state.js.map +0 -1
  899. package/dist/services/sync/graph-match.d.ts +0 -53
  900. package/dist/services/sync/graph-match.js +0 -316
  901. package/dist/services/sync/graph-match.js.map +0 -1
  902. package/dist/services/sync/graphrag-client.d.ts +0 -43
  903. package/dist/services/sync/graphrag-client.js +0 -94
  904. package/dist/services/sync/graphrag-client.js.map +0 -1
  905. package/dist/services/sync/graphrag-config.d.ts +0 -16
  906. package/dist/services/sync/graphrag-config.js +0 -39
  907. package/dist/services/sync/graphrag-config.js.map +0 -1
  908. package/dist/services/sync/graphrag-context.d.ts +0 -14
  909. package/dist/services/sync/graphrag-context.js +0 -109
  910. package/dist/services/sync/graphrag-context.js.map +0 -1
  911. package/dist/services/sync/graphrag-indexer.d.ts +0 -30
  912. package/dist/services/sync/graphrag-indexer.js +0 -358
  913. package/dist/services/sync/graphrag-indexer.js.map +0 -1
  914. package/dist/services/sync/llm.d.ts +0 -32
  915. package/dist/services/sync/llm.js +0 -115
  916. package/dist/services/sync/llm.js.map +0 -1
  917. package/dist/services/sync/mcp-client.d.ts +0 -71
  918. package/dist/services/sync/mcp-client.js +0 -299
  919. package/dist/services/sync/mcp-client.js.map +0 -1
  920. package/dist/services/sync/model-factory.d.ts +0 -13
  921. package/dist/services/sync/model-factory.js +0 -38
  922. package/dist/services/sync/model-factory.js.map +0 -1
  923. package/dist/services/sync/name-quality.d.ts +0 -31
  924. package/dist/services/sync/name-quality.js +0 -60
  925. package/dist/services/sync/name-quality.js.map +0 -1
  926. package/dist/services/sync/output-schemas.d.ts +0 -92
  927. package/dist/services/sync/output-schemas.js +0 -43
  928. package/dist/services/sync/output-schemas.js.map +0 -1
  929. package/dist/services/sync/prompts.d.ts +0 -19
  930. package/dist/services/sync/prompts.js +0 -128
  931. package/dist/services/sync/prompts.js.map +0 -1
  932. package/dist/services/sync/reconciler.d.ts +0 -48
  933. package/dist/services/sync/reconciler.js +0 -294
  934. package/dist/services/sync/reconciler.js.map +0 -1
  935. package/dist/services/sync/rest-client.d.ts +0 -40
  936. package/dist/services/sync/rest-client.js +0 -100
  937. package/dist/services/sync/rest-client.js.map +0 -1
  938. package/dist/services/sync/source-config.d.ts +0 -67
  939. package/dist/services/sync/source-config.js +0 -304
  940. package/dist/services/sync/source-config.js.map +0 -1
  941. package/dist/services/sync/source-definitions/asana.d.ts +0 -14
  942. package/dist/services/sync/source-definitions/asana.js +0 -42
  943. package/dist/services/sync/source-definitions/asana.js.map +0 -1
  944. package/dist/services/sync/source-definitions/definitions.d.ts +0 -8
  945. package/dist/services/sync/source-definitions/definitions.js +0 -8
  946. package/dist/services/sync/source-definitions/definitions.js.map +0 -1
  947. package/dist/services/sync/source-definitions/gdrive.d.ts +0 -16
  948. package/dist/services/sync/source-definitions/gdrive.js +0 -68
  949. package/dist/services/sync/source-definitions/gdrive.js.map +0 -1
  950. package/dist/services/sync/source-definitions/granola.d.ts +0 -2
  951. package/dist/services/sync/source-definitions/granola.js +0 -21
  952. package/dist/services/sync/source-definitions/granola.js.map +0 -1
  953. package/dist/services/sync/source-definitions/linear.d.ts +0 -2
  954. package/dist/services/sync/source-definitions/linear.js +0 -62
  955. package/dist/services/sync/source-definitions/linear.js.map +0 -1
  956. package/dist/services/sync/source-definitions/obsidian.d.ts +0 -2
  957. package/dist/services/sync/source-definitions/obsidian.js +0 -55
  958. package/dist/services/sync/source-definitions/obsidian.js.map +0 -1
  959. package/dist/services/sync/source-definitions/pipedrive.d.ts +0 -2
  960. package/dist/services/sync/source-definitions/pipedrive.js +0 -43
  961. package/dist/services/sync/source-definitions/pipedrive.js.map +0 -1
  962. package/dist/services/sync/staging.d.ts +0 -53
  963. package/dist/services/sync/staging.js +0 -130
  964. package/dist/services/sync/staging.js.map +0 -1
  965. package/dist/services/sync/structured-extractor.d.ts +0 -57
  966. package/dist/services/sync/structured-extractor.js +0 -584
  967. package/dist/services/sync/structured-extractor.js.map +0 -1
  968. package/dist/services/sync/sync-runner.d.ts +0 -32
  969. package/dist/services/sync/sync-runner.js +0 -195
  970. package/dist/services/sync/sync-runner.js.map +0 -1
  971. package/dist/services/sync/sync-state.d.ts +0 -43
  972. package/dist/services/sync/sync-state.js +0 -154
  973. package/dist/services/sync/sync-state.js.map +0 -1
  974. package/dist/services/sync/types.d.ts +0 -381
  975. package/dist/services/sync/types.js +0 -8
  976. package/dist/services/sync/types.js.map +0 -1
  977. package/dist/services/sync/unstructured-extractor.d.ts +0 -27
  978. package/dist/services/sync/unstructured-extractor.js +0 -185
  979. package/dist/services/sync/unstructured-extractor.js.map +0 -1
  980. package/dist/utils/merge-resolver.d.ts +0 -59
  981. package/dist/utils/merge-resolver.js +0 -303
  982. package/dist/utils/merge-resolver.js.map +0 -1
  983. package/dist/web/_app/immutable/assets/0.DdizXOKi.css +0 -1
  984. package/dist/web/_app/immutable/assets/10.BUrHkYry.css +0 -1
  985. package/dist/web/_app/immutable/assets/2.n7-yW_Fs.css +0 -1
  986. package/dist/web/_app/immutable/assets/3.BtaZagnv.css +0 -1
  987. package/dist/web/_app/immutable/assets/4.DT7X0x5S.css +0 -1
  988. package/dist/web/_app/immutable/assets/5.DFeGxLYf.css +0 -1
  989. package/dist/web/_app/immutable/assets/6.CquhUpOu.css +0 -1
  990. package/dist/web/_app/immutable/assets/7.CjbDRbuG.css +0 -1
  991. package/dist/web/_app/immutable/assets/8.S1QdUGNM.css +0 -1
  992. package/dist/web/_app/immutable/assets/9.CT4xL4K3.css +0 -1
  993. package/dist/web/_app/immutable/assets/Copy.FS8bdfxr.css +0 -1
  994. package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +0 -1
  995. package/dist/web/_app/immutable/assets/ViewToolbar.D-QW2oKe.css +0 -1
  996. package/dist/web/_app/immutable/assets/index.D6tMDJWk.css +0 -1
  997. package/dist/web/_app/immutable/chunks/37NdyH6G.js +0 -32
  998. package/dist/web/_app/immutable/chunks/4Hhzb6pv.js +0 -1
  999. package/dist/web/_app/immutable/chunks/72bZS3G9.js +0 -1
  1000. package/dist/web/_app/immutable/chunks/7S2LGqoP.js +0 -2
  1001. package/dist/web/_app/immutable/chunks/8319UlK_.js +0 -1
  1002. package/dist/web/_app/immutable/chunks/B340SUKR.js +0 -1
  1003. package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
  1004. package/dist/web/_app/immutable/chunks/BHNrGVTD.js +0 -1
  1005. package/dist/web/_app/immutable/chunks/BS2rFAVq.js +0 -1
  1006. package/dist/web/_app/immutable/chunks/BSsDC_p4.js +0 -1
  1007. package/dist/web/_app/immutable/chunks/BTX2Jr8_.js +0 -1
  1008. package/dist/web/_app/immutable/chunks/BU9bZcWS.js +0 -4
  1009. package/dist/web/_app/immutable/chunks/BfIhVLn6.js +0 -1
  1010. package/dist/web/_app/immutable/chunks/Bsacq2UX.js +0 -1
  1011. package/dist/web/_app/immutable/chunks/ByunV8un.js +0 -1
  1012. package/dist/web/_app/immutable/chunks/C7VoTosa.js +0 -2
  1013. package/dist/web/_app/immutable/chunks/CDV5Q7RN.js +0 -1
  1014. package/dist/web/_app/immutable/chunks/CJ8__CWt.js +0 -1
  1015. package/dist/web/_app/immutable/chunks/CJUKmosC.js +0 -5
  1016. package/dist/web/_app/immutable/chunks/CNJXZsV0.js +0 -1
  1017. package/dist/web/_app/immutable/chunks/CSCdPd1d.js +0 -1
  1018. package/dist/web/_app/immutable/chunks/CSVbGg_b.js +0 -5
  1019. package/dist/web/_app/immutable/chunks/CT6oIU-C.js +0 -1
  1020. package/dist/web/_app/immutable/chunks/CTRxNfZk.js +0 -1
  1021. package/dist/web/_app/immutable/chunks/CWQRQXxy.js +0 -1
  1022. package/dist/web/_app/immutable/chunks/CXH6iFbA.js +0 -1
  1023. package/dist/web/_app/immutable/chunks/CX_61fY8.js +0 -5
  1024. package/dist/web/_app/immutable/chunks/CYrVHOHA.js +0 -1
  1025. package/dist/web/_app/immutable/chunks/CdeYcEuU.js +0 -1
  1026. package/dist/web/_app/immutable/chunks/CmCtpZ1Y.js +0 -1
  1027. package/dist/web/_app/immutable/chunks/CodnfUpZ.js +0 -1
  1028. package/dist/web/_app/immutable/chunks/CqkleIqs.js +0 -1
  1029. package/dist/web/_app/immutable/chunks/CrdV0ttd.js +0 -1
  1030. package/dist/web/_app/immutable/chunks/CscoF-YL.js +0 -18
  1031. package/dist/web/_app/immutable/chunks/Cx4YdFMk.js +0 -1
  1032. package/dist/web/_app/immutable/chunks/D7ZqAKi9.js +0 -3
  1033. package/dist/web/_app/immutable/chunks/DGbA7IXh.js +0 -2
  1034. package/dist/web/_app/immutable/chunks/DX3q8Wh7.js +0 -1
  1035. package/dist/web/_app/immutable/chunks/DbbB6Up5.js +0 -1
  1036. package/dist/web/_app/immutable/chunks/DnL9f0lc.js +0 -7
  1037. package/dist/web/_app/immutable/chunks/DtM5cEDu.js +0 -1
  1038. package/dist/web/_app/immutable/chunks/Eqahi7_S.js +0 -2
  1039. package/dist/web/_app/immutable/chunks/O9Eb9k00.js +0 -1
  1040. package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +0 -1
  1041. package/dist/web/_app/immutable/chunks/QF8MAmnc.js +0 -1
  1042. package/dist/web/_app/immutable/chunks/UjzxCpxn.js +0 -1
  1043. package/dist/web/_app/immutable/chunks/WSUKABI_.js +0 -1
  1044. package/dist/web/_app/immutable/chunks/WlsUHv-K.js +0 -1
  1045. package/dist/web/_app/immutable/chunks/Y90OgS-9.js +0 -1
  1046. package/dist/web/_app/immutable/chunks/cLyZlkXv.js +0 -1
  1047. package/dist/web/_app/immutable/chunks/iDtAARVW.js +0 -2
  1048. package/dist/web/_app/immutable/chunks/oC_W7W7p.js +0 -1
  1049. package/dist/web/_app/immutable/chunks/rJdWIgh-.js +0 -1
  1050. package/dist/web/_app/immutable/chunks/tvOsokaa.js +0 -1
  1051. package/dist/web/_app/immutable/chunks/uLEXaPwE.js +0 -1
  1052. package/dist/web/_app/immutable/chunks/vANlie4P.js +0 -2
  1053. package/dist/web/_app/immutable/chunks/vSaooFHB.js +0 -1
  1054. package/dist/web/_app/immutable/entry/app.2t49gcrW.js +0 -2
  1055. package/dist/web/_app/immutable/entry/start.BdkvSU2l.js +0 -1
  1056. package/dist/web/_app/immutable/nodes/0.ag_8oFh-.js +0 -2
  1057. package/dist/web/_app/immutable/nodes/1.BNYg0Vsp.js +0 -1
  1058. package/dist/web/_app/immutable/nodes/10.Cyg4coUc.js +0 -1
  1059. package/dist/web/_app/immutable/nodes/2.CGjgxqHA.js +0 -168
  1060. package/dist/web/_app/immutable/nodes/3.DEqqEOTV.js +0 -1
  1061. package/dist/web/_app/immutable/nodes/4.V61Ed9TC.js +0 -12
  1062. package/dist/web/_app/immutable/nodes/5.DlF50ub0.js +0 -4
  1063. package/dist/web/_app/immutable/nodes/6.DEPjN38c.js +0 -2
  1064. package/dist/web/_app/immutable/nodes/7.npfkOwsL.js +0 -2
  1065. package/dist/web/_app/immutable/nodes/8.BiZVwE8_.js +0 -1
  1066. package/dist/web/_app/immutable/nodes/9.BH02cvQU.js +0 -1
package/README.md CHANGED
@@ -57,15 +57,15 @@ A Studiograph workspace is a directory containing a `.studiograph/` configuratio
57
57
  ```
58
58
  my-studio/
59
59
  ├── .studiograph/ # Config repo (workspace.json, team roster, migrations)
60
- ├── acme-rebrand/ # Collection (client project)
61
- ├── website-redesign/ # Collection (another project)
62
- ├── team-knowledge/ # Collection (processes, standards)
60
+ ├── acme-rebrand/ # Folder (client project)
61
+ ├── website-redesign/ # Folder (another project)
62
+ ├── team-knowledge/ # Folder (processes, standards)
63
63
  └── private/ # Local-only, gitignored
64
64
  ```
65
65
 
66
- ### Collections
66
+ ### Folders
67
67
 
68
- Each subdirectory is a **collection** — a Git repo containing related entities. Collections are lightweight and flexible: one per project, one for team knowledge, one for business operations, or however your team thinks.
68
+ Each subdirectory is a **folder** — a Git repo containing related entities. Folders are lightweight and flexible: one per project, one for team knowledge, one for business operations, or however your team thinks.
69
69
 
70
70
  ### Entities
71
71
 
@@ -133,7 +133,7 @@ There are 17 built-in entity types (project, meeting, person, organization, deci
133
133
 
134
134
  | Command | Description |
135
135
  |---------|-------------|
136
- | `studiograph collection` | Manage collections (add, list, rename, remove) |
136
+ | `studiograph folder` | Manage folders (add, list, rename, remove) |
137
137
  | `studiograph provision` | Push workspace config to GitHub as a separate repo |
138
138
  | `studiograph members` | Manage team members and roles |
139
139
  | `studiograph index` | Rebuild search index |
@@ -190,7 +190,7 @@ Studiograph exposes a [Model Context Protocol](https://modelcontextprotocol.io/)
190
190
 
191
191
  If you're running from the workspace directory, you can omit the path: `studiograph mcp`.
192
192
 
193
- MCP tools available: `list_repos`, `list_entities`, `get_entity`, `search_entities`, `create_entity`, `update_entity`, `delete_entity`.
193
+ MCP tools available: `list_repos`, `create_repo`, `list_entities`, `get_entity`, `search_entities`, `create_entity`, `update_entity`, `delete_entity`.
194
194
 
195
195
  ### Third-Party Connectors
196
196
 
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Agent Pool — manages per-session Agent instances for concurrent access.
3
+ *
4
+ * Each session (folder chat, private chat, capture) gets its own Agent
5
+ * with independent conversation history. Shared resources (tools, system
6
+ * prompt, model) are created once and passed to each new agent.
7
+ *
8
+ * Per-session locking ensures only one call runs per session at a time,
9
+ * while different sessions can run in parallel.
10
+ */
11
+ import { Agent } from '@mariozechner/pi-agent-core';
12
+ import type { AuthUser } from '../services/auth-service.js';
13
+ import type { MutationEvent } from './tools/graph-tools.js';
14
+ export interface AgentContext {
15
+ user: AuthUser | null;
16
+ onHighlight?: ((ids: string[]) => void) | null;
17
+ onMutation?: ((m: MutationEvent) => void) | null;
18
+ /**
19
+ * Called by tool wrappers at the start (`enter`) and end (`leave`) of any
20
+ * mutation that targets a folder. Powers the "X's agent is acting" sidebar
21
+ * chip via wsHub.handleAgentActivity. Optional — no-op if unset.
22
+ */
23
+ onAgentActivity?: ((action: 'enter' | 'leave' | 'heartbeat', repo: string) => void) | null;
24
+ }
25
+ export interface SharedAgentConfig {
26
+ /** Factory to create a fresh Agent instance with tools, prompt, and model. */
27
+ createAgent: (userId?: number) => Agent;
28
+ /** Callback to load custom tools async (called once per new agent). */
29
+ loadCustomTools?: (agent: Agent) => void;
30
+ /** Base sessions directory. */
31
+ sessionsDir: string;
32
+ }
33
+ export declare class AgentPool {
34
+ private pool;
35
+ private reapTimer;
36
+ private config;
37
+ /** Per-session context — set before each call, read by tool closures. */
38
+ private contextMap;
39
+ constructor(config: SharedAgentConfig);
40
+ /**
41
+ * Get the current context for a session (used by tool closures).
42
+ * Returns null user if no context is set.
43
+ */
44
+ getContext(sessionId: string): AgentContext;
45
+ /**
46
+ * Acquire an agent for a session, run a callback, then release.
47
+ * Per-session locking ensures serialized access within the same session.
48
+ * Different sessions run in parallel.
49
+ */
50
+ withAgent<T>(sessionId: string, ctx: AgentContext, fn: (agent: Agent) => Promise<T>, opts?: {
51
+ userId?: number;
52
+ fallbackHistory?: Array<{
53
+ role: string;
54
+ content: string;
55
+ }>;
56
+ }): Promise<T>;
57
+ /** Get the raw Agent for a session (for subscribe/streaming). Must be used with withAgent. */
58
+ getAgent(sessionId: string): Agent | null;
59
+ /** Abort the agent for a session. */
60
+ abort(sessionId: string): void;
61
+ /** Save all sessions and stop the reaper. */
62
+ shutdown(): Promise<void>;
63
+ /** Clear all saved session files for a user. */
64
+ clearSessions(userId?: number): number;
65
+ get size(): number;
66
+ /** Find the session ID for a given agent instance. */
67
+ findSessionForAgent(agent: Agent): string | null;
68
+ private getOrCreate;
69
+ private loadSession;
70
+ private saveSession;
71
+ private getUserDir;
72
+ private pruneSessions;
73
+ private reap;
74
+ }
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Agent Pool — manages per-session Agent instances for concurrent access.
3
+ *
4
+ * Each session (folder chat, private chat, capture) gets its own Agent
5
+ * with independent conversation history. Shared resources (tools, system
6
+ * prompt, model) are created once and passed to each new agent.
7
+ *
8
+ * Per-session locking ensures only one call runs per session at a time,
9
+ * while different sessions can run in parallel.
10
+ */
11
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, unlinkSync, statSync } from 'fs';
12
+ import { join, resolve } from 'path';
13
+ const IDLE_TIMEOUT_MS = 10 * 60_000; // 10 minutes
14
+ const REAP_INTERVAL_MS = 60_000; // check every 60s
15
+ const MAX_SESSIONS_PER_USER = 20;
16
+ export class AgentPool {
17
+ pool = new Map();
18
+ reapTimer = null;
19
+ config;
20
+ /** Per-session context — set before each call, read by tool closures. */
21
+ contextMap = new Map();
22
+ constructor(config) {
23
+ this.config = config;
24
+ this.reapTimer = setInterval(() => this.reap(), REAP_INTERVAL_MS);
25
+ }
26
+ /**
27
+ * Get the current context for a session (used by tool closures).
28
+ * Returns null user if no context is set.
29
+ */
30
+ getContext(sessionId) {
31
+ return this.contextMap.get(sessionId) ?? { user: null };
32
+ }
33
+ /**
34
+ * Acquire an agent for a session, run a callback, then release.
35
+ * Per-session locking ensures serialized access within the same session.
36
+ * Different sessions run in parallel.
37
+ */
38
+ async withAgent(sessionId, ctx, fn, opts) {
39
+ const entry = this.getOrCreate(sessionId, opts?.userId, opts?.fallbackHistory);
40
+ // Chain on the session's lock to serialize calls
41
+ const result = entry.lock.then(async () => {
42
+ entry.lastUsedAt = Date.now();
43
+ this.contextMap.set(sessionId, ctx);
44
+ try {
45
+ return await fn(entry.agent);
46
+ }
47
+ finally {
48
+ this.contextMap.delete(sessionId);
49
+ // Save session after each call
50
+ this.saveSession(entry);
51
+ }
52
+ });
53
+ // Update the lock — next caller for this session waits for this one
54
+ entry.lock = result.then(() => { }, () => { });
55
+ return result;
56
+ }
57
+ /** Get the raw Agent for a session (for subscribe/streaming). Must be used with withAgent. */
58
+ getAgent(sessionId) {
59
+ return this.pool.get(sessionId)?.agent ?? null;
60
+ }
61
+ /** Abort the agent for a session. */
62
+ abort(sessionId) {
63
+ this.pool.get(sessionId)?.agent.abort();
64
+ }
65
+ /** Save all sessions and stop the reaper. */
66
+ async shutdown() {
67
+ if (this.reapTimer) {
68
+ clearInterval(this.reapTimer);
69
+ this.reapTimer = null;
70
+ }
71
+ for (const entry of this.pool.values()) {
72
+ this.saveSession(entry);
73
+ }
74
+ this.pool.clear();
75
+ }
76
+ /** Clear all saved session files for a user. */
77
+ clearSessions(userId) {
78
+ const dir = this.getUserDir(userId);
79
+ if (!existsSync(dir))
80
+ return 0;
81
+ const files = readdirSync(dir).filter(f => f.endsWith('.json'));
82
+ for (const f of files) {
83
+ try {
84
+ unlinkSync(join(dir, f));
85
+ }
86
+ catch { /* ignore */ }
87
+ }
88
+ return files.length;
89
+ }
90
+ get size() {
91
+ return this.pool.size;
92
+ }
93
+ /** Find the session ID for a given agent instance. */
94
+ findSessionForAgent(agent) {
95
+ for (const [sid, entry] of this.pool) {
96
+ if (entry.agent === agent)
97
+ return sid;
98
+ }
99
+ return null;
100
+ }
101
+ // ── Private ──
102
+ getOrCreate(sessionId, userId, fallbackHistory) {
103
+ const existing = this.pool.get(sessionId);
104
+ if (existing)
105
+ return existing;
106
+ // Create a fresh agent instance (pass userId for per-user context like briefing)
107
+ const agent = this.config.createAgent(userId);
108
+ this.config.loadCustomTools?.(agent);
109
+ // Try loading session from disk
110
+ const loaded = this.loadSession(agent, sessionId, userId);
111
+ // Fallback: rebuild the transcript as proper role-tagged messages when
112
+ // the saved session file is missing (cleared, corrupted, or first turn
113
+ // on a fresh container). The previous implementation flattened the
114
+ // entire history into a single role: 'user' message with "Assistant:" /
115
+ // "User:" prefixes embedded as plain text — the model then had to parse
116
+ // those textual prefixes to know what was its own output, and would
117
+ // sometimes mis-attribute its prior turns to the user (e.g. "you
118
+ // mentioned that Watowa consults" when the user had just said "we
119
+ // consult on..."). Mapping each turn to its actual role tag lets the
120
+ // model distinguish reliably without parsing-by-prefix.
121
+ if (!loaded && fallbackHistory && fallbackHistory.length > 0) {
122
+ const model = agent.state.model;
123
+ const baseTime = Date.now() - fallbackHistory.length * 1000;
124
+ agent.state.messages = fallbackHistory.map((m, i) => {
125
+ const timestamp = baseTime + i * 1000;
126
+ if (m.role === 'assistant') {
127
+ return {
128
+ role: 'assistant',
129
+ content: [{ type: 'text', text: m.content }],
130
+ api: model.api,
131
+ provider: model.provider,
132
+ model: model.id,
133
+ usage: {
134
+ input: 0, output: 0, cacheRead: 0, cacheWrite: 0, totalTokens: 0,
135
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
136
+ },
137
+ stopReason: 'stop',
138
+ timestamp,
139
+ };
140
+ }
141
+ return {
142
+ role: 'user',
143
+ content: [{ type: 'text', text: m.content }],
144
+ timestamp,
145
+ };
146
+ });
147
+ }
148
+ const entry = {
149
+ agent,
150
+ sessionId,
151
+ userId,
152
+ lastUsedAt: Date.now(),
153
+ lock: Promise.resolve(),
154
+ };
155
+ this.pool.set(sessionId, entry);
156
+ return entry;
157
+ }
158
+ loadSession(agent, sessionId, userId) {
159
+ const userDir = this.getUserDir(userId);
160
+ const sessionPath = join(userDir, `${sessionId}.json`);
161
+ // Path traversal guard
162
+ if (!resolve(sessionPath).startsWith(resolve(userDir)))
163
+ return false;
164
+ if (existsSync(sessionPath)) {
165
+ try {
166
+ const data = JSON.parse(readFileSync(sessionPath, 'utf-8'));
167
+ if (Array.isArray(data.messages) && data.messages.length > 0) {
168
+ agent.state.messages = data.messages;
169
+ return true;
170
+ }
171
+ }
172
+ catch { /* corrupted — fall through */ }
173
+ }
174
+ return false;
175
+ }
176
+ saveSession(entry) {
177
+ const messages = entry.agent.state.messages;
178
+ if (messages.length === 0)
179
+ return;
180
+ const userDir = this.getUserDir(entry.userId);
181
+ if (!existsSync(userDir)) {
182
+ mkdirSync(userDir, { recursive: true });
183
+ }
184
+ const sessionPath = join(userDir, `${entry.sessionId}.json`);
185
+ writeFileSync(sessionPath, JSON.stringify({
186
+ sessionId: entry.sessionId,
187
+ updatedAt: new Date().toISOString(),
188
+ messages,
189
+ }), 'utf-8');
190
+ this.pruneSessions(userDir, MAX_SESSIONS_PER_USER);
191
+ }
192
+ getUserDir(userId) {
193
+ if (userId)
194
+ return join(this.config.sessionsDir, String(userId));
195
+ return this.config.sessionsDir;
196
+ }
197
+ pruneSessions(dir, keep) {
198
+ if (!existsSync(dir))
199
+ return;
200
+ const files = readdirSync(dir)
201
+ .filter(f => f.endsWith('.json'))
202
+ .map(f => {
203
+ try {
204
+ return { name: f, mtime: statSync(join(dir, f)).mtimeMs };
205
+ }
206
+ catch {
207
+ return null;
208
+ }
209
+ })
210
+ .filter(Boolean);
211
+ if (files.length <= keep)
212
+ return;
213
+ files.sort((a, b) => b.mtime - a.mtime);
214
+ for (const f of files.slice(keep)) {
215
+ try {
216
+ unlinkSync(join(dir, f.name));
217
+ }
218
+ catch { /* ignore */ }
219
+ }
220
+ }
221
+ reap() {
222
+ const now = Date.now();
223
+ for (const [key, entry] of this.pool) {
224
+ if (now - entry.lastUsedAt > IDLE_TIMEOUT_MS) {
225
+ this.saveSession(entry);
226
+ this.pool.delete(key);
227
+ }
228
+ }
229
+ }
230
+ }
231
+ //# sourceMappingURL=agent-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-pool.js","sourceRoot":"","sources":["../../src/agent/agent-pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Follow-up suggestion marker parsing.
3
+ *
4
+ * The system prompt instructs the agent to end every response with an HTML
5
+ * comment of the form:
6
+ *
7
+ * <!-- followups: ["prompt 1", "prompt 2", "prompt 3"] -->
8
+ *
9
+ * Each transport (web, CLI, MCP) must strip this marker from the content it
10
+ * displays and surface the suggestions in whatever form fits its UI — chips
11
+ * in the web client, a dim numbered list in the CLI, a `suggestions` field
12
+ * in MCP, etc.
13
+ *
14
+ * Keep the parser in one place so a new transport can't silently leak the
15
+ * raw marker.
16
+ */
17
+ export interface ParsedFollowups {
18
+ /** Response content with the marker removed and trailing whitespace trimmed. */
19
+ content: string;
20
+ /** Parsed suggestions, if the marker was present and valid JSON. */
21
+ suggestions?: string[];
22
+ }
23
+ /**
24
+ * Parse a raw agent response and split it into clean content plus optional
25
+ * follow-up suggestions. Malformed markers are left in place (the caller can
26
+ * choose to strip or render as-is), matching the existing web behaviour.
27
+ */
28
+ export declare function parseFollowups(raw: string): ParsedFollowups;
29
+ /**
30
+ * Return true if `text` contains an *unclosed* followups marker — used by
31
+ * streaming consumers to know whether to defer rendering the tail of a
32
+ * delta until the closing `-->` arrives.
33
+ */
34
+ export declare function hasOpenFollowupsMarker(text: string): boolean;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Follow-up suggestion marker parsing.
3
+ *
4
+ * The system prompt instructs the agent to end every response with an HTML
5
+ * comment of the form:
6
+ *
7
+ * <!-- followups: ["prompt 1", "prompt 2", "prompt 3"] -->
8
+ *
9
+ * Each transport (web, CLI, MCP) must strip this marker from the content it
10
+ * displays and surface the suggestions in whatever form fits its UI — chips
11
+ * in the web client, a dim numbered list in the CLI, a `suggestions` field
12
+ * in MCP, etc.
13
+ *
14
+ * Keep the parser in one place so a new transport can't silently leak the
15
+ * raw marker.
16
+ */
17
+ /** Matches the trailing followups HTML comment at end of text (with optional trailing whitespace). */
18
+ const FOLLOWUPS_RE = /<!--\s*followups:\s*(\[[\s\S]*?\])\s*-->\s*$/;
19
+ /**
20
+ * Parse a raw agent response and split it into clean content plus optional
21
+ * follow-up suggestions. Malformed markers are left in place (the caller can
22
+ * choose to strip or render as-is), matching the existing web behaviour.
23
+ */
24
+ export function parseFollowups(raw) {
25
+ const match = raw.match(FOLLOWUPS_RE);
26
+ if (!match)
27
+ return { content: raw };
28
+ try {
29
+ const parsed = JSON.parse(match[1]);
30
+ if (!Array.isArray(parsed) || !parsed.every((s) => typeof s === 'string')) {
31
+ return { content: raw };
32
+ }
33
+ const content = raw.slice(0, match.index).trimEnd();
34
+ return { content, suggestions: parsed };
35
+ }
36
+ catch {
37
+ return { content: raw };
38
+ }
39
+ }
40
+ /**
41
+ * Return true if `text` contains an *unclosed* followups marker — used by
42
+ * streaming consumers to know whether to defer rendering the tail of a
43
+ * delta until the closing `-->` arrives.
44
+ */
45
+ export function hasOpenFollowupsMarker(text) {
46
+ const lastOpen = text.lastIndexOf('<!--');
47
+ if (lastOpen < 0)
48
+ return false;
49
+ const lastClose = text.lastIndexOf('-->');
50
+ return lastClose < lastOpen;
51
+ }
52
+ //# sourceMappingURL=followups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followups.js","sourceRoot":"","sources":["../../src/agent/followups.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,sGAAsG;AACtG,MAAM,YAAY,GAAG,8CAA8C,CAAC;AASpE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC1E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,SAAS,GAAG,QAAQ,CAAC;AAC9B,CAAC"}
@@ -10,6 +10,7 @@ import { WorkspaceConfig } from '../core/types.js';
10
10
  import { GitUser } from '../services/git.js';
11
11
  import { type MutationEvent } from './tools/graph-tools.js';
12
12
  import type { AuthUser } from '../services/auth-service.js';
13
+ import { AgentPool } from './agent-pool.js';
13
14
  export interface AgentConfig {
14
15
  workspacePath: string;
15
16
  workspaceConfig: WorkspaceConfig;
@@ -22,6 +23,15 @@ export interface AgentConfig {
22
23
  recentMemory?: string;
23
24
  /** Shared WorkspaceManager instance (used by server to share state with agent). */
24
25
  workspaceManager?: WorkspaceManager;
26
+ /** Shared MessageService instance (for searching folder messages). */
27
+ messageService?: import('../services/message-service.js').MessageService;
28
+ /**
29
+ * Called after the agent mutates an entity on disk, so the server can
30
+ * push the new content into any active Y.Doc and keep live editors in
31
+ * sync. Without this, agent edits bypass the Y.Doc and cause content
32
+ * duplication on the next resync.
33
+ */
34
+ onEntityContentMutation?: (repo: string, entityType: string, entityId: string) => void;
25
35
  }
26
36
  export interface AgentResponse {
27
37
  content: string;
@@ -34,25 +44,28 @@ export interface AgentResponse {
34
44
  export declare class AgentOrchestrator {
35
45
  private workspacePath;
36
46
  private workspaceManager;
37
- private agent;
47
+ private pool;
38
48
  private config;
39
49
  private gitUser;
40
50
  private skillsDirs;
41
51
  private toolsDirs;
42
52
  private registryRef;
43
- private _highlightCallback;
44
- private _mutationCallback;
45
- private _currentUser;
46
53
  private authService;
54
+ private messageService;
47
55
  private recentMemory?;
48
- private currentSessionId;
49
56
  private sessionsDir;
57
+ private onEntityContentMutation?;
58
+ private _currentUser;
59
+ private _highlightCallback;
60
+ private _mutationCallback;
61
+ private currentSessionId;
62
+ private _sessionUserId;
50
63
  constructor(config: AgentConfig);
51
64
  /**
52
65
  * Create Pi-Mono agent with tools and system prompt.
53
66
  * Custom tools and skills are loaded asynchronously via initAsync().
54
67
  */
55
- private createAgent;
68
+ private createAgentInstance;
56
69
  /**
57
70
  * Load custom JS tools from app/workspace tool dirs and append to the agent.
58
71
  * Runs async after construction — custom tools may not be available for the
@@ -64,6 +77,31 @@ export declare class AgentOrchestrator {
64
77
  * Build the full system prompt: base prompt + eager skill content + skill index.
65
78
  */
66
79
  private buildSystemPrompt;
80
+ /**
81
+ * Enumerate skill entities across all folders the user can access. Each
82
+ * skill becomes a SkillMeta with a `graph://<repo>/<id>` sentinel
83
+ * entrypoint. Priority order: user's private folder first, then shared
84
+ * folders alphabetically. First occurrence of a given name wins.
85
+ */
86
+ private enumerateGraphSkills;
87
+ /**
88
+ * Load the markdown body of a skill entity by (repo, id).
89
+ */
90
+ private readGraphSkillBody;
91
+ /**
92
+ * Build a workspace identity section from graph entities.
93
+ * Reads organization, person, practice-area, and guideline entries
94
+ * to compose a concise identity summary for the system prompt.
95
+ * Returns null if no organization entries exist.
96
+ */
97
+ private buildWorkspaceIdentity;
98
+ /**
99
+ * Per-repo subfolder summary for the system prompt. Lists each accessible
100
+ * repo with up to MAX_PER_REPO subfolder paths so the agent can route new
101
+ * entries into existing folders without calling list_folders for every
102
+ * decision. Refresh cadence is per-session (system prompt is built once).
103
+ */
104
+ private buildFolderInventory;
67
105
  /**
68
106
  * Fallback system prompt when prompts/system.md is not found.
69
107
  */
@@ -71,7 +109,23 @@ export declare class AgentOrchestrator {
71
109
  /**
72
110
  * Send a message to the agent
73
111
  */
112
+ /**
113
+ * Send a message and await the full agent response.
114
+ * Uses the current session (set via switchSession) or a default session.
115
+ */
74
116
  chat(userMessage: string): Promise<AgentResponse>;
117
+ /**
118
+ * Send a message with an explicit session ID and context.
119
+ * Preferred over the legacy setCurrentUser + switchSession + chat pattern.
120
+ */
121
+ chatInSession(sessionId: string, userMessage: string, opts?: {
122
+ user?: AuthUser | null;
123
+ userId?: number;
124
+ fallbackHistory?: Array<{
125
+ role: string;
126
+ content: string;
127
+ }>;
128
+ }): Promise<AgentResponse>;
75
129
  /**
76
130
  * Get workspace manager (for tools)
77
131
  */
@@ -90,7 +144,7 @@ export declare class AgentOrchestrator {
90
144
  */
91
145
  getRepoNames(): string[];
92
146
  /**
93
- * Set the current authenticated user for per-collection access filtering.
147
+ * Set the current authenticated user for per-folder access filtering.
94
148
  * Called per-request by the chat endpoint. Null = full access (API key / open mode).
95
149
  */
96
150
  setCurrentUser(user: AuthUser | null): void;
@@ -111,36 +165,34 @@ export declare class AgentOrchestrator {
111
165
  */
112
166
  emitMutation(m: MutationEvent): void;
113
167
  /**
114
- * Expose the raw pi-agent-core Agent instance.
168
+ * Expose the raw pi-agent-core Agent instance for a session (for SSE streaming).
169
+ * Returns the default session agent if no sessionId specified.
115
170
  */
116
- getAgent(): Agent;
117
- /** Abort the current agent run (if any). */
118
- abort(): void;
171
+ getAgent(sessionId?: string): Agent | null;
172
+ /** Get the agent pool (for advanced callers that need direct pool access). */
173
+ getPool(): AgentPool;
174
+ /** Abort the agent for a session. */
175
+ abort(sessionId?: string): void;
119
176
  /**
120
177
  * Get the current session ID (null if none active).
121
178
  */
122
179
  getCurrentSessionId(): string | null;
123
180
  /**
124
- * Switch the agent to a different session.
125
- * - Same session no-op
126
- * - Existing session file → restore messages from disk
127
- * - No file but fallback history → inject as context message
128
- * - Nothing → clear messages for a fresh start
181
+ * Switch session (backward compat sets state for next chat() call).
182
+ * With the pool, actual session loading happens lazily in withAgent().
129
183
  */
130
184
  switchSession(sessionId: string, fallbackHistory?: Array<{
131
185
  role: string;
132
186
  content: string;
133
- }>): Promise<void>;
187
+ }>, userId?: number): Promise<void>;
134
188
  /**
135
- * Save the current session's messages to disk.
189
+ * Save session (backward compat pool auto-saves after each withAgent call).
136
190
  */
137
191
  saveSession(): void;
138
192
  /**
139
193
  * Clear all saved sessions from disk.
140
194
  */
141
195
  clearSessions(): number;
142
- /**
143
- * Keep only the N most recent session files by mtime.
144
- */
145
- private pruneSessions;
196
+ /** Shut down the agent pool (save all sessions, stop idle reaper). */
197
+ shutdown(): Promise<void>;
146
198
  }