studiograph 1.3.48-next.13 → 1.3.48-next.130

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 (1008) hide show
  1. package/README.md +7 -7
  2. package/dist/agent/agent-pool.d.ts +14 -1
  3. package/dist/agent/agent-pool.js +37 -12
  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 +29 -2
  9. package/dist/agent/orchestrator.js +239 -38
  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 +83 -0
  13. package/dist/agent/prompts/entity-types-section.js.map +1 -0
  14. package/dist/agent/prompts/system.md +106 -47
  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/entity-schema.md +79 -343
  19. package/dist/agent/skills/interview/entity-templates.md +38 -37
  20. package/dist/agent/skills/interview/question-domains.md +54 -49
  21. package/dist/agent/skills/interview/skill.md +89 -14
  22. package/dist/agent/tools/capture-tools.d.ts +31 -0
  23. package/dist/agent/tools/capture-tools.js +40 -0
  24. package/dist/agent/tools/capture-tools.js.map +1 -0
  25. package/dist/agent/tools/folder-tools.d.ts +47 -0
  26. package/dist/agent/tools/folder-tools.js +249 -0
  27. package/dist/agent/tools/folder-tools.js.map +1 -0
  28. package/dist/agent/tools/fs-tools.d.ts +6 -5
  29. package/dist/agent/tools/fs-tools.js +5 -5
  30. package/dist/agent/tools/fs-tools.js.map +1 -1
  31. package/dist/agent/tools/graph-tools.d.ts +25 -72
  32. package/dist/agent/tools/graph-tools.js +362 -366
  33. package/dist/agent/tools/graph-tools.js.map +1 -1
  34. package/dist/agent/tools/history-tools.d.ts +95 -0
  35. package/dist/agent/tools/history-tools.js +461 -0
  36. package/dist/agent/tools/history-tools.js.map +1 -0
  37. package/dist/agent/tools/load-skill.d.ts +6 -5
  38. package/dist/agent/tools/load-skill.js +3 -3
  39. package/dist/agent/tools/load-skill.js.map +1 -1
  40. package/dist/agent/tools/message-tools.d.ts +13 -11
  41. package/dist/agent/tools/message-tools.js +31 -39
  42. package/dist/agent/tools/message-tools.js.map +1 -1
  43. package/dist/agent/tools/ops-tools.d.ts +5 -4
  44. package/dist/agent/tools/ops-tools.js +99 -212
  45. package/dist/agent/tools/ops-tools.js.map +1 -1
  46. package/dist/agent/tools/permission-tools.d.ts +39 -16
  47. package/dist/agent/tools/permission-tools.js +66 -41
  48. package/dist/agent/tools/permission-tools.js.map +1 -1
  49. package/dist/agent/tools/tool-loader.js +5 -4
  50. package/dist/agent/tools/tool-loader.js.map +1 -1
  51. package/dist/agent/tools/web-tools.js +58 -9
  52. package/dist/agent/tools/web-tools.js.map +1 -1
  53. package/dist/cli/commands/about.d.ts +1 -0
  54. package/dist/cli/commands/about.js +55 -3
  55. package/dist/cli/commands/about.js.map +1 -1
  56. package/dist/cli/commands/audit.d.ts +21 -0
  57. package/dist/cli/commands/audit.js +174 -0
  58. package/dist/cli/commands/audit.js.map +1 -0
  59. package/dist/cli/commands/clear.d.ts +5 -0
  60. package/dist/cli/commands/clear.js +144 -1
  61. package/dist/cli/commands/clear.js.map +1 -1
  62. package/dist/cli/commands/clone.d.ts +1 -1
  63. package/dist/cli/commands/clone.js +47 -12
  64. package/dist/cli/commands/clone.js.map +1 -1
  65. package/dist/cli/commands/deploy.js +79 -18
  66. package/dist/cli/commands/deploy.js.map +1 -1
  67. package/dist/cli/commands/folder.d.ts +11 -0
  68. package/dist/cli/commands/folder.js +186 -0
  69. package/dist/cli/commands/folder.js.map +1 -0
  70. package/dist/cli/commands/index.js +2 -2
  71. package/dist/cli/commands/index.js.map +1 -1
  72. package/dist/cli/commands/init.js +16 -14
  73. package/dist/cli/commands/init.js.map +1 -1
  74. package/dist/cli/commands/join.d.ts +1 -1
  75. package/dist/cli/commands/join.js +26 -14
  76. package/dist/cli/commands/join.js.map +1 -1
  77. package/dist/cli/commands/mcp.js +12 -4
  78. package/dist/cli/commands/mcp.js.map +1 -1
  79. package/dist/cli/commands/r2.d.ts +3 -0
  80. package/dist/cli/commands/r2.js +196 -1
  81. package/dist/cli/commands/r2.js.map +1 -1
  82. package/dist/cli/commands/redeploy.js +41 -1
  83. package/dist/cli/commands/redeploy.js.map +1 -1
  84. package/dist/cli/commands/secrets.d.ts +23 -0
  85. package/dist/cli/commands/secrets.js +256 -0
  86. package/dist/cli/commands/secrets.js.map +1 -0
  87. package/dist/cli/commands/serve.js +143 -24
  88. package/dist/cli/commands/serve.js.map +1 -1
  89. package/dist/cli/commands/start.js +140 -71
  90. package/dist/cli/commands/start.js.map +1 -1
  91. package/dist/cli/commands/sync.d.ts +1 -1
  92. package/dist/cli/commands/sync.js +509 -163
  93. package/dist/cli/commands/sync.js.map +1 -1
  94. package/dist/cli/commands/user.js +8 -24
  95. package/dist/cli/commands/user.js.map +1 -1
  96. package/dist/cli/index.js +8 -7
  97. package/dist/cli/index.js.map +1 -1
  98. package/dist/cli/railway-provisioning.d.ts +53 -0
  99. package/dist/cli/railway-provisioning.js +85 -0
  100. package/dist/cli/railway-provisioning.js.map +1 -0
  101. package/dist/cli/scaffolding.d.ts +4 -2
  102. package/dist/cli/scaffolding.js +42 -47
  103. package/dist/cli/scaffolding.js.map +1 -1
  104. package/dist/cli/setup-wizard.d.ts +30 -49
  105. package/dist/cli/setup-wizard.js +35 -38
  106. package/dist/cli/setup-wizard.js.map +1 -1
  107. package/dist/core/accent-palette.d.ts +22 -0
  108. package/dist/core/accent-palette.js +47 -0
  109. package/dist/core/accent-palette.js.map +1 -0
  110. package/dist/core/entity-body-templates.d.ts +21 -0
  111. package/dist/core/entity-body-templates.js +48 -0
  112. package/dist/core/entity-body-templates.js.map +1 -0
  113. package/dist/core/entity-types-catalog.d.ts +65 -0
  114. package/dist/core/entity-types-catalog.js +136 -0
  115. package/dist/core/entity-types-catalog.js.map +1 -0
  116. package/dist/core/feature-flags.d.ts +22 -0
  117. package/dist/core/feature-flags.js +15 -0
  118. package/dist/core/feature-flags.js.map +1 -0
  119. package/dist/core/features.d.ts +16 -0
  120. package/dist/core/features.js +48 -0
  121. package/dist/core/features.js.map +1 -0
  122. package/dist/core/folder-paths.d.ts +41 -0
  123. package/dist/core/folder-paths.js +95 -0
  124. package/dist/core/folder-paths.js.map +1 -0
  125. package/dist/core/folder-sidecar.d.ts +16 -0
  126. package/dist/core/folder-sidecar.js +45 -0
  127. package/dist/core/folder-sidecar.js.map +1 -0
  128. package/dist/core/graph.d.ts +471 -19
  129. package/dist/core/graph.js +1411 -284
  130. package/dist/core/graph.js.map +1 -1
  131. package/dist/core/schema-registry.js +1 -19
  132. package/dist/core/schema-registry.js.map +1 -1
  133. package/dist/core/schemas/connector.d.ts +67 -0
  134. package/dist/core/schemas/connector.js +100 -0
  135. package/dist/core/schemas/connector.js.map +1 -0
  136. package/dist/core/schemas/workspace.d.ts +122 -0
  137. package/dist/core/schemas/workspace.js +211 -0
  138. package/dist/core/schemas/workspace.js.map +1 -0
  139. package/dist/core/secrets/SecretStore.d.ts +77 -0
  140. package/dist/core/secrets/SecretStore.js +13 -0
  141. package/dist/core/secrets/SecretStore.js.map +1 -0
  142. package/dist/core/secrets/SettingsResolver.d.ts +54 -0
  143. package/dist/core/secrets/SettingsResolver.js +80 -0
  144. package/dist/core/secrets/SettingsResolver.js.map +1 -0
  145. package/dist/core/secrets/SettingsStore.d.ts +30 -0
  146. package/dist/core/secrets/SettingsStore.js +9 -0
  147. package/dist/core/secrets/SettingsStore.js.map +1 -0
  148. package/dist/core/secrets/SqliteEncryptedStore.d.ts +78 -0
  149. package/dist/core/secrets/SqliteEncryptedStore.js +581 -0
  150. package/dist/core/secrets/SqliteEncryptedStore.js.map +1 -0
  151. package/dist/core/secrets/audit.d.ts +36 -0
  152. package/dist/core/secrets/audit.js +60 -0
  153. package/dist/core/secrets/audit.js.map +1 -0
  154. package/dist/core/secrets/auth-db-migration.d.ts +129 -0
  155. package/dist/core/secrets/auth-db-migration.js +653 -0
  156. package/dist/core/secrets/auth-db-migration.js.map +1 -0
  157. package/dist/core/secrets/bundle.d.ts +141 -0
  158. package/dist/core/secrets/bundle.js +435 -0
  159. package/dist/core/secrets/bundle.js.map +1 -0
  160. package/dist/core/secrets/dual-write.d.ts +76 -0
  161. package/dist/core/secrets/dual-write.js +236 -0
  162. package/dist/core/secrets/dual-write.js.map +1 -0
  163. package/dist/core/secrets/encryption.d.ts +44 -0
  164. package/dist/core/secrets/encryption.js +97 -0
  165. package/dist/core/secrets/encryption.js.map +1 -0
  166. package/dist/core/secrets/importer.d.ts +94 -0
  167. package/dist/core/secrets/importer.js +319 -0
  168. package/dist/core/secrets/importer.js.map +1 -0
  169. package/dist/core/secrets/index.d.ts +35 -0
  170. package/dist/core/secrets/index.js +59 -0
  171. package/dist/core/secrets/index.js.map +1 -0
  172. package/dist/core/secrets/master-key.d.ts +38 -0
  173. package/dist/core/secrets/master-key.js +122 -0
  174. package/dist/core/secrets/master-key.js.map +1 -0
  175. package/dist/core/secrets/probes/anthropic.d.ts +98 -0
  176. package/dist/core/secrets/probes/anthropic.js +300 -0
  177. package/dist/core/secrets/probes/anthropic.js.map +1 -0
  178. package/dist/core/secrets/probes/brave.d.ts +9 -0
  179. package/dist/core/secrets/probes/brave.js +15 -0
  180. package/dist/core/secrets/probes/brave.js.map +1 -0
  181. package/dist/core/secrets/probes/r2.d.ts +15 -0
  182. package/dist/core/secrets/probes/r2.js +14 -0
  183. package/dist/core/secrets/probes/r2.js.map +1 -0
  184. package/dist/core/secrets/probes/voyage.d.ts +13 -0
  185. package/dist/core/secrets/probes/voyage.js +52 -0
  186. package/dist/core/secrets/probes/voyage.js.map +1 -0
  187. package/dist/core/secrets/read-flip.d.ts +59 -0
  188. package/dist/core/secrets/read-flip.js +87 -0
  189. package/dist/core/secrets/read-flip.js.map +1 -0
  190. package/dist/core/secrets/registry.d.ts +188 -0
  191. package/dist/core/secrets/registry.js +539 -0
  192. package/dist/core/secrets/registry.js.map +1 -0
  193. package/dist/core/types.d.ts +70 -483
  194. package/dist/core/types.js +6 -3
  195. package/dist/core/types.js.map +1 -1
  196. package/dist/core/user-config.d.ts +52 -12
  197. package/dist/core/user-config.js +119 -14
  198. package/dist/core/user-config.js.map +1 -1
  199. package/dist/core/validation.d.ts +603 -1409
  200. package/dist/core/validation.js +248 -146
  201. package/dist/core/validation.js.map +1 -1
  202. package/dist/core/workspace-manager.d.ts +35 -14
  203. package/dist/core/workspace-manager.js +105 -56
  204. package/dist/core/workspace-manager.js.map +1 -1
  205. package/dist/core/workspace.d.ts +19 -5
  206. package/dist/core/workspace.js +66 -39
  207. package/dist/core/workspace.js.map +1 -1
  208. package/dist/mcp/connector-manager.d.ts +16 -1
  209. package/dist/mcp/connector-manager.js +44 -5
  210. package/dist/mcp/connector-manager.js.map +1 -1
  211. package/dist/mcp/server.d.ts +11 -3
  212. package/dist/mcp/server.js +30 -5
  213. package/dist/mcp/server.js.map +1 -1
  214. package/dist/mcp/tools.d.ts +27 -2
  215. package/dist/mcp/tools.js +544 -113
  216. package/dist/mcp/tools.js.map +1 -1
  217. package/dist/server/__tests__/helpers/graph-api.d.ts +18 -0
  218. package/dist/server/__tests__/helpers/graph-api.js +16 -0
  219. package/dist/server/__tests__/helpers/graph-api.js.map +1 -0
  220. package/dist/server/commit-audit.d.ts +26 -0
  221. package/dist/server/commit-audit.js +30 -0
  222. package/dist/server/commit-audit.js.map +1 -0
  223. package/dist/server/index.d.ts +14 -3
  224. package/dist/server/index.js +388 -177
  225. package/dist/server/index.js.map +1 -1
  226. package/dist/server/middleware/sanitize.d.ts +46 -0
  227. package/dist/server/middleware/sanitize.js +171 -0
  228. package/dist/server/middleware/sanitize.js.map +1 -0
  229. package/dist/server/routes/asset-api.js +217 -65
  230. package/dist/server/routes/asset-api.js.map +1 -1
  231. package/dist/server/routes/audit-api.d.ts +24 -0
  232. package/dist/server/routes/audit-api.js +117 -0
  233. package/dist/server/routes/audit-api.js.map +1 -0
  234. package/dist/server/routes/auth-api.js +220 -44
  235. package/dist/server/routes/auth-api.js.map +1 -1
  236. package/dist/server/routes/capture-api.d.ts +10 -3
  237. package/dist/server/routes/capture-api.js +180 -24
  238. package/dist/server/routes/capture-api.js.map +1 -1
  239. package/dist/server/routes/chat.d.ts +4 -1
  240. package/dist/server/routes/chat.js +178 -46
  241. package/dist/server/routes/chat.js.map +1 -1
  242. package/dist/server/routes/config-api.d.ts +21 -0
  243. package/dist/server/routes/config-api.js +256 -0
  244. package/dist/server/routes/config-api.js.map +1 -0
  245. package/dist/server/routes/connectors-api.js +24 -18
  246. package/dist/server/routes/connectors-api.js.map +1 -1
  247. package/dist/server/routes/event-ingest-api.d.ts +15 -0
  248. package/dist/server/routes/event-ingest-api.js +125 -0
  249. package/dist/server/routes/event-ingest-api.js.map +1 -0
  250. package/dist/server/routes/features-api.d.ts +19 -0
  251. package/dist/server/routes/features-api.js +28 -0
  252. package/dist/server/routes/features-api.js.map +1 -0
  253. package/dist/server/routes/git-http.d.ts +2 -2
  254. package/dist/server/routes/git-http.js +69 -34
  255. package/dist/server/routes/git-http.js.map +1 -1
  256. package/dist/server/routes/graph-api-access.d.ts +35 -0
  257. package/dist/server/routes/graph-api-access.js +93 -0
  258. package/dist/server/routes/graph-api-access.js.map +1 -0
  259. package/dist/server/routes/graph-api.d.ts +3 -2
  260. package/dist/server/routes/graph-api.js +1014 -315
  261. package/dist/server/routes/graph-api.js.map +1 -1
  262. package/dist/server/routes/health.d.ts +18 -0
  263. package/dist/server/routes/health.js +74 -0
  264. package/dist/server/routes/health.js.map +1 -0
  265. package/dist/server/routes/insights-api.js +156 -33
  266. package/dist/server/routes/insights-api.js.map +1 -1
  267. package/dist/server/routes/mcp.d.ts +6 -3
  268. package/dist/server/routes/mcp.js +22 -6
  269. package/dist/server/routes/mcp.js.map +1 -1
  270. package/dist/server/routes/messages-api.d.ts +3 -3
  271. package/dist/server/routes/messages-api.js +308 -120
  272. package/dist/server/routes/messages-api.js.map +1 -1
  273. package/dist/server/routes/permissions-api.d.ts +9 -2
  274. package/dist/server/routes/permissions-api.js +87 -31
  275. package/dist/server/routes/permissions-api.js.map +1 -1
  276. package/dist/server/routes/secrets-api.d.ts +36 -0
  277. package/dist/server/routes/secrets-api.js +303 -0
  278. package/dist/server/routes/secrets-api.js.map +1 -0
  279. package/dist/server/routes/settings-api.d.ts +29 -0
  280. package/dist/server/routes/settings-api.js +177 -0
  281. package/dist/server/routes/settings-api.js.map +1 -0
  282. package/dist/server/routes/workspace-api.d.ts +2 -1
  283. package/dist/server/routes/workspace-api.js +131 -20
  284. package/dist/server/routes/workspace-api.js.map +1 -1
  285. package/dist/server/routes/ws.d.ts +3 -2
  286. package/dist/server/routes/ws.js +68 -18
  287. package/dist/server/routes/ws.js.map +1 -1
  288. package/dist/server/session-manager.d.ts +48 -5
  289. package/dist/server/session-manager.js +175 -11
  290. package/dist/server/session-manager.js.map +1 -1
  291. package/dist/server/ws-hub.d.ts +134 -22
  292. package/dist/server/ws-hub.js +0 -0
  293. package/dist/server/ws-hub.js.map +1 -1
  294. package/dist/server/yjs-manager.d.ts +107 -7
  295. package/dist/server/yjs-manager.js +444 -38
  296. package/dist/server/yjs-manager.js.map +1 -1
  297. package/dist/server/yjs-persistence.d.ts +143 -0
  298. package/dist/server/yjs-persistence.js +543 -0
  299. package/dist/server/yjs-persistence.js.map +1 -0
  300. package/dist/server/yjs-text-diff.d.ts +32 -0
  301. package/dist/server/yjs-text-diff.js +61 -0
  302. package/dist/server/yjs-text-diff.js.map +1 -0
  303. package/dist/services/access-control.d.ts +53 -0
  304. package/dist/services/access-control.js +132 -0
  305. package/dist/services/access-control.js.map +1 -0
  306. package/dist/services/asset-upload-service.d.ts +53 -0
  307. package/dist/services/asset-upload-service.js +200 -0
  308. package/dist/services/asset-upload-service.js.map +1 -0
  309. package/dist/services/assets/base.d.ts +38 -0
  310. package/dist/services/assets/base.js +55 -0
  311. package/dist/services/assets/base.js.map +1 -1
  312. package/dist/services/assets/index.d.ts +41 -1
  313. package/dist/services/assets/index.js +65 -0
  314. package/dist/services/assets/index.js.map +1 -1
  315. package/dist/services/assets/local.d.ts +7 -1
  316. package/dist/services/assets/local.js +83 -0
  317. package/dist/services/assets/local.js.map +1 -1
  318. package/dist/services/assets/r2.d.ts +28 -1
  319. package/dist/services/assets/r2.js +75 -1
  320. package/dist/services/assets/r2.js.map +1 -1
  321. package/dist/services/auth-service.d.ts +184 -36
  322. package/dist/services/auth-service.js +763 -138
  323. package/dist/services/auth-service.js.map +1 -1
  324. package/dist/services/briefing.d.ts +1 -1
  325. package/dist/services/briefing.js +12 -35
  326. package/dist/services/briefing.js.map +1 -1
  327. package/dist/services/event-processor.d.ts +104 -0
  328. package/dist/services/event-processor.js +443 -0
  329. package/dist/services/event-processor.js.map +1 -0
  330. package/dist/services/folder-creation.d.ts +33 -0
  331. package/dist/services/folder-creation.js +103 -0
  332. package/dist/services/folder-creation.js.map +1 -0
  333. package/dist/services/git.d.ts +44 -0
  334. package/dist/services/git.js +162 -55
  335. package/dist/services/git.js.map +1 -1
  336. package/dist/services/heartbeat.d.ts +19 -12
  337. package/dist/services/heartbeat.js +162 -107
  338. package/dist/services/heartbeat.js.map +1 -1
  339. package/dist/services/import-service.d.ts +37 -2
  340. package/dist/services/import-service.js +222 -123
  341. package/dist/services/import-service.js.map +1 -1
  342. package/dist/services/lint-service.js +7 -14
  343. package/dist/services/lint-service.js.map +1 -1
  344. package/dist/services/markdown.js +6 -2
  345. package/dist/services/markdown.js.map +1 -1
  346. package/dist/services/message-service.d.ts +62 -21
  347. package/dist/services/message-service.js +160 -43
  348. package/dist/services/message-service.js.map +1 -1
  349. package/dist/services/personal-folder.d.ts +40 -0
  350. package/dist/services/personal-folder.js +101 -0
  351. package/dist/services/personal-folder.js.map +1 -0
  352. package/dist/services/vector-service.d.ts +73 -3
  353. package/dist/services/vector-service.js +106 -7
  354. package/dist/services/vector-service.js.map +1 -1
  355. package/dist/services/workspace-access.d.ts +106 -0
  356. package/dist/services/workspace-access.js +149 -0
  357. package/dist/services/workspace-access.js.map +1 -0
  358. package/dist/utils/git.js +3 -3
  359. package/dist/utils/git.js.map +1 -1
  360. package/dist/utils/log.d.ts +42 -0
  361. package/dist/utils/log.js +137 -0
  362. package/dist/utils/log.js.map +1 -0
  363. package/dist/utils/preflight.js +2 -2
  364. package/dist/utils/preflight.js.map +1 -1
  365. package/dist/utils/version-checker.d.ts +4 -1
  366. package/dist/utils/version-checker.js +8 -8
  367. package/dist/utils/version-checker.js.map +1 -1
  368. package/dist/web/_app/immutable/assets/0.Bp6xXZUi.css +2 -0
  369. package/dist/web/_app/immutable/assets/11.DlIf1mKh.css +1 -0
  370. package/dist/web/_app/immutable/assets/12.Dmlt28l2.css +1 -0
  371. package/dist/web/_app/immutable/assets/13.CmLrbzZp.css +1 -0
  372. package/dist/web/_app/immutable/assets/2.oo1ac0x_.css +1 -0
  373. package/dist/web/_app/immutable/assets/3.DJJsQzDb.css +1 -0
  374. package/dist/web/_app/immutable/assets/4.CZ-fNJ91.css +1 -0
  375. package/dist/web/_app/immutable/assets/AgentOverlay.BfWESlQU.css +1 -0
  376. package/dist/web/_app/immutable/assets/AssetManagerModal.ZfasE2L3.css +1 -0
  377. package/dist/web/_app/immutable/assets/CalendarView.CeNagvyK.css +1 -0
  378. package/dist/web/_app/immutable/assets/ChatPanel.po0gYtVH.css +1 -0
  379. package/dist/web/_app/immutable/assets/FolderMembersPanel.Bepw-r0F.css +1 -0
  380. package/dist/web/_app/immutable/assets/FolderMutationDialogs.BMRF6Z3z.css +1 -0
  381. package/dist/web/_app/immutable/assets/FolderPicker.B5KdvRYl.css +1 -0
  382. package/dist/web/_app/immutable/assets/GalleryView.Dy-qQjEc.css +1 -0
  383. package/dist/web/_app/immutable/assets/GraphView.BHnGIltS.css +1 -0
  384. package/dist/web/_app/immutable/assets/KanbanView.G3NZ0uHb.css +1 -0
  385. package/dist/web/_app/immutable/assets/SettingsDialog.tBn8y9DD.css +1 -0
  386. package/dist/web/_app/immutable/assets/Spinner.UBfl0pab.css +1 -0
  387. package/dist/web/_app/immutable/assets/TagFilter.DNipjifq.css +1 -0
  388. package/dist/web/_app/immutable/assets/TagPickerSheet.DJPuqnTg.css +1 -0
  389. package/dist/web/_app/immutable/assets/WorkspaceView.B9zA92UB.css +1 -0
  390. package/dist/web/_app/immutable/assets/button.BlLm4Dg1.css +1 -0
  391. package/dist/web/_app/immutable/assets/dialog.BxVal_19.css +1 -0
  392. package/dist/web/_app/immutable/assets/dist.B5hGjnfj.css +1 -0
  393. package/dist/web/_app/immutable/assets/dist.DDCWxn3B.css +1 -0
  394. package/dist/web/_app/immutable/assets/dropdown-menu.BSsUUQ3o.css +1 -0
  395. package/dist/web/_app/immutable/assets/entity-row.Bl5FyNCt.css +1 -0
  396. package/dist/web/_app/immutable/assets/greeting.Bm7lTneV.css +1 -0
  397. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff +0 -0
  398. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2 +0 -0
  399. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff +0 -0
  400. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2 +0 -0
  401. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2 +0 -0
  402. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff +0 -0
  403. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2 +0 -0
  404. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff +0 -0
  405. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.BNK2_mGO.woff2 +0 -0
  406. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.DpEwFAQM.woff +0 -0
  407. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2 +0 -0
  408. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff +0 -0
  409. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff +0 -0
  410. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2 +0 -0
  411. package/dist/web/_app/immutable/assets/inline-list.DORLo4xF.css +1 -0
  412. package/dist/web/_app/immutable/assets/notifications.clodJdp5.css +1 -0
  413. package/dist/web/_app/immutable/assets/radio-group.GJJRVPUJ.css +1 -0
  414. package/dist/web/_app/immutable/assets/select.D_AV992j.css +1 -0
  415. package/dist/web/_app/immutable/chunks/-KAQXGuI2.js +1 -0
  416. package/dist/web/_app/immutable/chunks/-wzwcH00.js +1 -0
  417. package/dist/web/_app/immutable/chunks/07l_1Zpm2.js +1 -0
  418. package/dist/web/_app/immutable/chunks/1i1V0Z172.js +2 -0
  419. package/dist/web/_app/immutable/chunks/38oWKNzM2.js +6 -0
  420. package/dist/web/_app/immutable/chunks/54VmiJfH.js +1 -0
  421. package/dist/web/_app/immutable/chunks/6LRpFvjo.js +185 -0
  422. package/dist/web/_app/immutable/chunks/9bCTHkeS.js +1 -0
  423. package/dist/web/_app/immutable/chunks/B-822WnD2.js +22 -0
  424. package/dist/web/_app/immutable/chunks/B0HUvliX2.js +2 -0
  425. package/dist/web/_app/immutable/chunks/B12eXGpE.js +1 -0
  426. package/dist/web/_app/immutable/chunks/B2-Cx5XA.js +1 -0
  427. package/dist/web/_app/immutable/chunks/B5af0X0p2.js +1 -0
  428. package/dist/web/_app/immutable/chunks/B6iYNwo72.js +1 -0
  429. package/dist/web/_app/immutable/chunks/B7EMtoAB.js +1 -0
  430. package/dist/web/_app/immutable/chunks/B9qBGxh62.js +3 -0
  431. package/dist/web/_app/immutable/chunks/B9rVXblv.js +1 -0
  432. package/dist/web/_app/immutable/chunks/BEpMEjHO.js +1 -0
  433. package/dist/web/_app/immutable/chunks/BErNpj-S2.js +1 -0
  434. package/dist/web/_app/immutable/chunks/BHBk4zfV.js +1 -0
  435. package/dist/web/_app/immutable/chunks/BHH-JGNF.js +1 -0
  436. package/dist/web/_app/immutable/chunks/BNTlsKDJ.js +1 -0
  437. package/dist/web/_app/immutable/chunks/BOgcXgis2.js +1 -0
  438. package/dist/web/_app/immutable/chunks/BOyyDrjn2.js +1 -0
  439. package/dist/web/_app/immutable/chunks/BPR_ufQ0.js +41 -0
  440. package/dist/web/_app/immutable/chunks/BRcFsc6v.js +5 -0
  441. package/dist/web/_app/immutable/chunks/BT3KAag_.js +3 -0
  442. package/dist/web/_app/immutable/chunks/BX2T6xiZ.js +224 -0
  443. package/dist/web/_app/immutable/chunks/BZnJ8tbJ.js +1 -0
  444. package/dist/web/_app/immutable/chunks/Ba1Yzb7u.js +1 -0
  445. package/dist/web/_app/immutable/chunks/BcsvgA3B2.js +1 -0
  446. package/dist/web/_app/immutable/chunks/BfbS7rGT.js +1 -0
  447. package/dist/web/_app/immutable/chunks/BgagL41Z.js +1 -0
  448. package/dist/web/_app/immutable/chunks/Bk-AcswV.js +1 -0
  449. package/dist/web/_app/immutable/chunks/Bl9Pzopy.js +1 -0
  450. package/dist/web/_app/immutable/chunks/BmcU05mO.js +1 -0
  451. package/dist/web/_app/immutable/chunks/Bmgp0jlT.js +1 -0
  452. package/dist/web/_app/immutable/chunks/BpDONXUo.js +8 -0
  453. package/dist/web/_app/immutable/chunks/BpTXLx8I2.js +5 -0
  454. package/dist/web/_app/immutable/chunks/Bq0-jBGC2.js +1 -0
  455. package/dist/web/_app/immutable/chunks/BqGj0_GS.js +1 -0
  456. package/dist/web/_app/immutable/chunks/Bsc9K3Pz.js +1 -0
  457. package/dist/web/_app/immutable/chunks/Bssb691Q.js +1 -0
  458. package/dist/web/_app/immutable/chunks/BuzQceOn.js +1 -0
  459. package/dist/web/_app/immutable/chunks/BzeVNab0.js +1 -0
  460. package/dist/web/_app/immutable/chunks/C-OaypFN.js +1 -0
  461. package/dist/web/_app/immutable/chunks/C0fjDjvE2.js +1 -0
  462. package/dist/web/_app/immutable/chunks/C0pTXwEX.js +2 -0
  463. package/dist/web/_app/immutable/chunks/C3Enww9L2.js +1 -0
  464. package/dist/web/_app/immutable/chunks/C3oa0Cks.js +1 -0
  465. package/dist/web/_app/immutable/chunks/C7GIvT8T.js +2 -0
  466. package/dist/web/_app/immutable/chunks/CC-YWp-f.js +1 -0
  467. package/dist/web/_app/immutable/chunks/CGdKvXV92.js +1 -0
  468. package/dist/web/_app/immutable/chunks/CH0siYFL.js +1 -0
  469. package/dist/web/_app/immutable/chunks/CIc2MMme2.js +1 -0
  470. package/dist/web/_app/immutable/chunks/CIchr8Tk2.js +1 -0
  471. package/dist/web/_app/immutable/chunks/CK_yXDQI.js +1 -0
  472. package/dist/web/_app/immutable/chunks/CLSxJmTj.js +2 -0
  473. package/dist/web/_app/immutable/chunks/CMhHc1Bq2.js +2 -0
  474. package/dist/web/_app/immutable/chunks/CNGba6T4.js +1 -0
  475. package/dist/web/_app/immutable/chunks/CPt2D5aU.js +1 -0
  476. package/dist/web/_app/immutable/chunks/CQ-2yccd.js +7 -0
  477. package/dist/web/_app/immutable/chunks/CS6VEwn7.js +1 -0
  478. package/dist/web/_app/immutable/chunks/CSsDOIrk.js +1 -0
  479. package/dist/web/_app/immutable/chunks/CVXvEWhv2.js +1 -0
  480. package/dist/web/_app/immutable/chunks/CaChtuYU2.js +1 -0
  481. package/dist/web/_app/immutable/chunks/CbiwvM3R2.js +1 -0
  482. package/dist/web/_app/immutable/chunks/CdCuBMLm.js +156 -0
  483. package/dist/web/_app/immutable/chunks/CiyqPsJo.js +1 -0
  484. package/dist/web/_app/immutable/chunks/CjGzUnEF2.js +1 -0
  485. package/dist/web/_app/immutable/chunks/Cjgbiel7.js +1 -0
  486. package/dist/web/_app/immutable/chunks/CnqSKqA62.js +1 -0
  487. package/dist/web/_app/immutable/chunks/CqyqKPuh2.js +1 -0
  488. package/dist/web/_app/immutable/chunks/CrnX-oFV.js +1 -0
  489. package/dist/web/_app/immutable/chunks/CsGahE3a.js +1 -0
  490. package/dist/web/_app/immutable/chunks/Ct3quP0F.js +1 -0
  491. package/dist/web/_app/immutable/chunks/CtlAYPxw.js +1 -0
  492. package/dist/web/_app/immutable/chunks/CvZaxjRC.js +1 -0
  493. package/dist/web/_app/immutable/chunks/CwD4G56R.js +5 -0
  494. package/dist/web/_app/immutable/chunks/CwROuREs.js +1 -0
  495. package/dist/web/_app/immutable/chunks/CxalqrMB.js +1 -0
  496. package/dist/web/_app/immutable/chunks/D7qgUfnr.js +2487 -0
  497. package/dist/web/_app/immutable/chunks/D9-_Euza2.js +1 -0
  498. package/dist/web/_app/immutable/chunks/DC69SASj.js +2 -0
  499. package/dist/web/_app/immutable/chunks/DCCaoKt42.js +1 -0
  500. package/dist/web/_app/immutable/chunks/DDKweOZr2.js +23 -0
  501. package/dist/web/_app/immutable/chunks/DEY60osH.js +1 -0
  502. package/dist/web/_app/immutable/chunks/DG3QZPgI.js +1 -0
  503. package/dist/web/_app/immutable/chunks/DHepUItL.js +1 -0
  504. package/dist/web/_app/immutable/chunks/DNtqqgv32.js +1 -0
  505. package/dist/web/_app/immutable/chunks/DRl7vwNC2.js +184 -0
  506. package/dist/web/_app/immutable/chunks/DTc5W_V6.js +1 -0
  507. package/dist/web/_app/immutable/chunks/DaiJs3St.js +1 -0
  508. package/dist/web/_app/immutable/chunks/DfITyMKh2.js +1 -0
  509. package/dist/web/_app/immutable/chunks/DhuJRrEX2.js +1 -0
  510. package/dist/web/_app/immutable/chunks/DiP2EplP.js +3 -0
  511. package/dist/web/_app/immutable/chunks/DjlDV2JG.js +1 -0
  512. package/dist/web/_app/immutable/chunks/Dm25ot5x2.js +1 -0
  513. package/dist/web/_app/immutable/chunks/DpuSt-SO.js +2 -0
  514. package/dist/web/_app/immutable/chunks/DqOcb9RX2.js +83 -0
  515. package/dist/web/_app/immutable/chunks/DrbUJCAE.js +1 -0
  516. package/dist/web/_app/immutable/chunks/Du2-B3c8.js +1 -0
  517. package/dist/web/_app/immutable/chunks/DwdkE4UD2.js +1 -0
  518. package/dist/web/_app/immutable/chunks/DxWesPbn.js +1 -0
  519. package/dist/web/_app/immutable/chunks/DyYZqUV72.js +1 -0
  520. package/dist/web/_app/immutable/chunks/HfUnhvrv2.js +1 -0
  521. package/dist/web/_app/immutable/chunks/Je8-BtCk2.js +1 -0
  522. package/dist/web/_app/immutable/chunks/MSB7eA4_.js +1 -0
  523. package/dist/web/_app/immutable/chunks/NPe9WyW1.js +1 -0
  524. package/dist/web/_app/immutable/chunks/O6IzcxXJ.js +2 -0
  525. package/dist/web/_app/immutable/chunks/SXhc9rJW.js +1 -0
  526. package/dist/web/_app/immutable/chunks/SbWhkPMt.js +6 -0
  527. package/dist/web/_app/immutable/chunks/U40J2SnU.js +1 -0
  528. package/dist/web/_app/immutable/chunks/VS3l21Gu.js +1 -0
  529. package/dist/web/_app/immutable/chunks/YEPEvlbU2.js +1 -0
  530. package/dist/web/_app/immutable/chunks/Z7TNRcgK.js +11 -0
  531. package/dist/web/_app/immutable/chunks/ZCekGjo6.js +5 -0
  532. package/dist/web/_app/immutable/chunks/_rnxQ655.js +4 -0
  533. package/dist/web/_app/immutable/chunks/aALpjBW2.js +1 -0
  534. package/dist/web/_app/immutable/chunks/gNXLhsdy.js +1 -0
  535. package/dist/web/_app/immutable/chunks/hKSTEN36.js +1 -0
  536. package/dist/web/_app/immutable/chunks/jZZTbzL5.js +1 -0
  537. package/dist/web/_app/immutable/chunks/l4FIBKss.js +1 -0
  538. package/dist/web/_app/immutable/chunks/l_4snZnh2.js +1 -0
  539. package/dist/web/_app/immutable/chunks/mz-cgRgP.js +3 -0
  540. package/dist/web/_app/immutable/chunks/qgprkMcL.js +1 -0
  541. package/dist/web/_app/immutable/chunks/rOisBLC62.js +14 -0
  542. package/dist/web/_app/immutable/chunks/t08TznXc2.js +1 -0
  543. package/dist/web/_app/immutable/chunks/t62M88qj.js +1 -0
  544. package/dist/web/_app/immutable/chunks/uCohGWC42.js +1 -0
  545. package/dist/web/_app/immutable/chunks/uqxmB78b.js +1 -0
  546. package/dist/web/_app/immutable/chunks/vJkT0IPN.js +1 -0
  547. package/dist/web/_app/immutable/chunks/vwTMEIJQ.js +1 -0
  548. package/dist/web/_app/immutable/chunks/w1FCELam.js +64 -0
  549. package/dist/web/_app/immutable/chunks/xEzUlKaR2.js +1 -0
  550. package/dist/web/_app/immutable/chunks/zumDjcgJ.js +1 -0
  551. package/dist/web/_app/immutable/entry/app.DtdPIxaY.js +2 -0
  552. package/dist/web/_app/immutable/entry/start.Cqf8YmDj.js +1 -0
  553. package/dist/web/_app/immutable/nodes/0.CktqlAe7.js +2 -0
  554. package/dist/web/_app/immutable/nodes/1.Bs7cz_ba.js +1 -0
  555. package/dist/web/_app/immutable/nodes/10.CAQtOBqO.js +1 -0
  556. package/dist/web/_app/immutable/nodes/11.l9TQGnJm.js +1 -0
  557. package/dist/web/_app/immutable/nodes/12.CttDoIpY.js +1 -0
  558. package/dist/web/_app/immutable/nodes/13.E5fh69kS.js +1 -0
  559. package/dist/web/_app/immutable/nodes/2.DnLSJfx-.js +106 -0
  560. package/dist/web/_app/immutable/nodes/3.Bw8R0Jw5.js +2 -0
  561. package/dist/web/_app/immutable/nodes/4.Cl0HgeTG.js +2 -0
  562. package/dist/web/_app/immutable/nodes/5.BpIWwWi9.js +1 -0
  563. package/dist/web/_app/immutable/nodes/6.jpx6ZgOI.js +1 -0
  564. package/dist/web/_app/immutable/nodes/7.YTFykZQe.js +1 -0
  565. package/dist/web/_app/immutable/nodes/8.Chy0HNU1.js +1 -0
  566. package/dist/web/_app/immutable/nodes/9.D10JpFt2.js +1 -0
  567. package/dist/web/_app/version.json +1 -1
  568. package/dist/web/favicon-16.png +0 -0
  569. package/dist/web/favicon-180.png +0 -0
  570. package/dist/web/favicon-32.png +0 -0
  571. package/dist/web/favicon-48.png +0 -0
  572. package/dist/web/favicon-512.png +0 -0
  573. package/dist/web/favicon.ico +0 -0
  574. package/dist/web/favicon.svg +8 -0
  575. package/dist/web/index.html +64 -21
  576. package/dist/web/studiograph-logomark.svg +29 -0
  577. package/package.json +28 -14
  578. package/dist/agent/role-loader.d.ts +0 -24
  579. package/dist/agent/role-loader.js +0 -67
  580. package/dist/agent/role-loader.js.map +0 -1
  581. package/dist/agent/skills/enrich-entities.md +0 -136
  582. package/dist/agent/skills/obsidian-source-setup.md +0 -246
  583. package/dist/agent/skills/skill-loader.d.ts +0 -48
  584. package/dist/agent/skills/skill-loader.js +0 -166
  585. package/dist/agent/skills/skill-loader.js.map +0 -1
  586. package/dist/agent/skills/sync-configuration.md +0 -119
  587. package/dist/agent/skills/sync-setup.md +0 -82
  588. package/dist/agent/tools/sync-tools.d.ts +0 -35
  589. package/dist/agent/tools/sync-tools.js +0 -992
  590. package/dist/agent/tools/sync-tools.js.map +0 -1
  591. package/dist/auth/github.d.ts +0 -56
  592. package/dist/auth/github.js +0 -169
  593. package/dist/auth/github.js.map +0 -1
  594. package/dist/cli/commands/access.d.ts +0 -11
  595. package/dist/cli/commands/access.js +0 -156
  596. package/dist/cli/commands/access.js.map +0 -1
  597. package/dist/cli/commands/app.d.ts +0 -7
  598. package/dist/cli/commands/app.js +0 -268
  599. package/dist/cli/commands/app.js.map +0 -1
  600. package/dist/cli/commands/auth.d.ts +0 -10
  601. package/dist/cli/commands/auth.js +0 -79
  602. package/dist/cli/commands/auth.js.map +0 -1
  603. package/dist/cli/commands/collection.d.ts +0 -10
  604. package/dist/cli/commands/collection.js +0 -185
  605. package/dist/cli/commands/collection.js.map +0 -1
  606. package/dist/cli/commands/enrich.d.ts +0 -11
  607. package/dist/cli/commands/enrich.js +0 -135
  608. package/dist/cli/commands/enrich.js.map +0 -1
  609. package/dist/cli/commands/graphrag.d.ts +0 -12
  610. package/dist/cli/commands/graphrag.js +0 -122
  611. package/dist/cli/commands/graphrag.js.map +0 -1
  612. package/dist/cli/commands/members.d.ts +0 -11
  613. package/dist/cli/commands/members.js +0 -230
  614. package/dist/cli/commands/members.js.map +0 -1
  615. package/dist/cli/commands/org.d.ts +0 -10
  616. package/dist/cli/commands/org.js +0 -132
  617. package/dist/cli/commands/org.js.map +0 -1
  618. package/dist/cli/commands/provision.d.ts +0 -8
  619. package/dist/cli/commands/provision.js +0 -116
  620. package/dist/cli/commands/provision.js.map +0 -1
  621. package/dist/cli/commands/resolve.d.ts +0 -8
  622. package/dist/cli/commands/resolve.js +0 -85
  623. package/dist/cli/commands/resolve.js.map +0 -1
  624. package/dist/cli/commands/review.d.ts +0 -19
  625. package/dist/cli/commands/review.js +0 -128
  626. package/dist/cli/commands/review.js.map +0 -1
  627. package/dist/cli/commands/source.d.ts +0 -16
  628. package/dist/cli/commands/source.js +0 -159
  629. package/dist/cli/commands/source.js.map +0 -1
  630. package/dist/cli/commands/sync-collection.d.ts +0 -14
  631. package/dist/cli/commands/sync-collection.js +0 -355
  632. package/dist/cli/commands/sync-collection.js.map +0 -1
  633. package/dist/cli/commands/sync-entities.d.ts +0 -13
  634. package/dist/cli/commands/sync-entities.js +0 -242
  635. package/dist/cli/commands/sync-entities.js.map +0 -1
  636. package/dist/cli/commands/team.d.ts +0 -12
  637. package/dist/cli/commands/team.js +0 -185
  638. package/dist/cli/commands/team.js.map +0 -1
  639. package/dist/cli/sync-review-interactive.d.ts +0 -31
  640. package/dist/cli/sync-review-interactive.js +0 -393
  641. package/dist/cli/sync-review-interactive.js.map +0 -1
  642. package/dist/core/migration-runner.d.ts +0 -42
  643. package/dist/core/migration-runner.js +0 -232
  644. package/dist/core/migration-runner.js.map +0 -1
  645. package/dist/core/migration-types.d.ts +0 -101
  646. package/dist/core/migration-types.js +0 -21
  647. package/dist/core/migration-types.js.map +0 -1
  648. package/dist/core/migrations/20260219-formalize-memory-location.d.ts +0 -2
  649. package/dist/core/migrations/20260219-formalize-memory-location.js +0 -35
  650. package/dist/core/migrations/20260219-formalize-memory-location.js.map +0 -1
  651. package/dist/core/migrations/20260220-add-workspace-metadata.d.ts +0 -12
  652. package/dist/core/migrations/20260220-add-workspace-metadata.js +0 -65
  653. package/dist/core/migrations/20260220-add-workspace-metadata.js.map +0 -1
  654. package/dist/core/migrations/20260220-add-workspace-readme.d.ts +0 -11
  655. package/dist/core/migrations/20260220-add-workspace-readme.js +0 -82
  656. package/dist/core/migrations/20260220-add-workspace-readme.js.map +0 -1
  657. package/dist/core/migrations/20260220-migrate-yaml-to-json.d.ts +0 -9
  658. package/dist/core/migrations/20260220-migrate-yaml-to-json.js +0 -64
  659. package/dist/core/migrations/20260220-migrate-yaml-to-json.js.map +0 -1
  660. package/dist/core/migrations/index.d.ts +0 -11
  661. package/dist/core/migrations/index.js +0 -23
  662. package/dist/core/migrations/index.js.map +0 -1
  663. package/dist/integrations/asana.d.ts +0 -26
  664. package/dist/integrations/asana.js +0 -78
  665. package/dist/integrations/asana.js.map +0 -1
  666. package/dist/integrations/figma-local.d.ts +0 -16
  667. package/dist/integrations/figma-local.js +0 -10
  668. package/dist/integrations/figma-local.js.map +0 -1
  669. package/dist/integrations/figma.d.ts +0 -17
  670. package/dist/integrations/figma.js +0 -17
  671. package/dist/integrations/figma.js.map +0 -1
  672. package/dist/integrations/granola.d.ts +0 -24
  673. package/dist/integrations/granola.js +0 -60
  674. package/dist/integrations/granola.js.map +0 -1
  675. package/dist/integrations/linear.d.ts +0 -14
  676. package/dist/integrations/linear.js +0 -80
  677. package/dist/integrations/linear.js.map +0 -1
  678. package/dist/integrations/paper-local.d.ts +0 -14
  679. package/dist/integrations/paper-local.js +0 -10
  680. package/dist/integrations/paper-local.js.map +0 -1
  681. package/dist/integrations/paper.d.ts +0 -2
  682. package/dist/integrations/paper.js +0 -10
  683. package/dist/integrations/paper.js.map +0 -1
  684. package/dist/integrations/pipedrive.d.ts +0 -26
  685. package/dist/integrations/pipedrive.js +0 -97
  686. package/dist/integrations/pipedrive.js.map +0 -1
  687. package/dist/integrations/registry.d.ts +0 -8
  688. package/dist/integrations/registry.js +0 -7
  689. package/dist/integrations/registry.js.map +0 -1
  690. package/dist/integrations/types.d.ts +0 -43
  691. package/dist/integrations/types.js +0 -5
  692. package/dist/integrations/types.js.map +0 -1
  693. package/dist/lib/lib/utils.d.ts +0 -2
  694. package/dist/lib/lib/utils.js +0 -6
  695. package/dist/lib/lib/utils.js.map +0 -1
  696. package/dist/mcp/connectors/asana.d.ts +0 -2
  697. package/dist/mcp/connectors/asana.js +0 -20
  698. package/dist/mcp/connectors/asana.js.map +0 -1
  699. package/dist/mcp/connectors/definitions.d.ts +0 -45
  700. package/dist/mcp/connectors/definitions.js +0 -32
  701. package/dist/mcp/connectors/definitions.js.map +0 -1
  702. package/dist/mcp/connectors/figma.d.ts +0 -5
  703. package/dist/mcp/connectors/figma.js +0 -21
  704. package/dist/mcp/connectors/figma.js.map +0 -1
  705. package/dist/mcp/connectors/gdrive.d.ts +0 -2
  706. package/dist/mcp/connectors/gdrive.js +0 -20
  707. package/dist/mcp/connectors/gdrive.js.map +0 -1
  708. package/dist/mcp/connectors/granola.d.ts +0 -2
  709. package/dist/mcp/connectors/granola.js +0 -12
  710. package/dist/mcp/connectors/granola.js.map +0 -1
  711. package/dist/mcp/connectors/linear.d.ts +0 -2
  712. package/dist/mcp/connectors/linear.js +0 -19
  713. package/dist/mcp/connectors/linear.js.map +0 -1
  714. package/dist/mcp/connectors/obsidian.d.ts +0 -2
  715. package/dist/mcp/connectors/obsidian.js +0 -19
  716. package/dist/mcp/connectors/obsidian.js.map +0 -1
  717. package/dist/mcp/connectors/pipedrive.d.ts +0 -2
  718. package/dist/mcp/connectors/pipedrive.js +0 -20
  719. package/dist/mcp/connectors/pipedrive.js.map +0 -1
  720. package/dist/mcp/connectors/slack.d.ts +0 -2
  721. package/dist/mcp/connectors/slack.js +0 -21
  722. package/dist/mcp/connectors/slack.js.map +0 -1
  723. package/dist/mcp/server-oauth-provider.d.ts +0 -56
  724. package/dist/mcp/server-oauth-provider.js +0 -142
  725. package/dist/mcp/server-oauth-provider.js.map +0 -1
  726. package/dist/server/agents/agent-loader.d.ts +0 -16
  727. package/dist/server/agents/agent-loader.js +0 -175
  728. package/dist/server/agents/agent-loader.js.map +0 -1
  729. package/dist/server/agents/agent-runner.d.ts +0 -33
  730. package/dist/server/agents/agent-runner.js +0 -187
  731. package/dist/server/agents/agent-runner.js.map +0 -1
  732. package/dist/server/agents/agent-runtime.d.ts +0 -39
  733. package/dist/server/agents/agent-runtime.js +0 -214
  734. package/dist/server/agents/agent-runtime.js.map +0 -1
  735. package/dist/server/agents/base-agent.d.ts +0 -30
  736. package/dist/server/agents/base-agent.js +0 -88
  737. package/dist/server/agents/base-agent.js.map +0 -1
  738. package/dist/server/agents/executive-digest.d.ts +0 -16
  739. package/dist/server/agents/executive-digest.js +0 -115
  740. package/dist/server/agents/executive-digest.js.map +0 -1
  741. package/dist/server/agents/graph-steward.d.ts +0 -16
  742. package/dist/server/agents/graph-steward.js +0 -59
  743. package/dist/server/agents/graph-steward.js.map +0 -1
  744. package/dist/server/agents/meeting-followup.d.ts +0 -16
  745. package/dist/server/agents/meeting-followup.js +0 -88
  746. package/dist/server/agents/meeting-followup.js.map +0 -1
  747. package/dist/server/agents/pipeline-monitor.d.ts +0 -15
  748. package/dist/server/agents/pipeline-monitor.js +0 -86
  749. package/dist/server/agents/pipeline-monitor.js.map +0 -1
  750. package/dist/server/agents/types.d.ts +0 -81
  751. package/dist/server/agents/types.js +0 -41
  752. package/dist/server/agents/types.js.map +0 -1
  753. package/dist/server/chrome/chrome.css +0 -691
  754. package/dist/server/chrome/chrome.js +0 -374
  755. package/dist/server/collab-authority.d.ts +0 -70
  756. package/dist/server/collab-authority.js +0 -218
  757. package/dist/server/collab-authority.js.map +0 -1
  758. package/dist/server/collab.d.ts +0 -29
  759. package/dist/server/collab.js +0 -195
  760. package/dist/server/collab.js.map +0 -1
  761. package/dist/server/commit-scheduler.d.ts +0 -39
  762. package/dist/server/commit-scheduler.js +0 -113
  763. package/dist/server/commit-scheduler.js.map +0 -1
  764. package/dist/server/plugin-loader.d.ts +0 -53
  765. package/dist/server/plugin-loader.js +0 -155
  766. package/dist/server/plugin-loader.js.map +0 -1
  767. package/dist/server/routes/agents-api.d.ts +0 -10
  768. package/dist/server/routes/agents-api.js +0 -25
  769. package/dist/server/routes/agents-api.js.map +0 -1
  770. package/dist/server/routes/collab.d.ts +0 -6
  771. package/dist/server/routes/collab.js +0 -10
  772. package/dist/server/routes/collab.js.map +0 -1
  773. package/dist/server/routes/git-api.d.ts +0 -9
  774. package/dist/server/routes/git-api.js +0 -82
  775. package/dist/server/routes/git-api.js.map +0 -1
  776. package/dist/server/routes/meeting-ingest-api.d.ts +0 -14
  777. package/dist/server/routes/meeting-ingest-api.js +0 -98
  778. package/dist/server/routes/meeting-ingest-api.js.map +0 -1
  779. package/dist/server/routes/sync-api.d.ts +0 -26
  780. package/dist/server/routes/sync-api.js +0 -848
  781. package/dist/server/routes/sync-api.js.map +0 -1
  782. package/dist/server/routes/webhook.d.ts +0 -14
  783. package/dist/server/routes/webhook.js +0 -102
  784. package/dist/server/routes/webhook.js.map +0 -1
  785. package/dist/services/batch-processor.d.ts +0 -49
  786. package/dist/services/batch-processor.js +0 -166
  787. package/dist/services/batch-processor.js.map +0 -1
  788. package/dist/services/csv-service.d.ts +0 -36
  789. package/dist/services/csv-service.js +0 -143
  790. package/dist/services/csv-service.js.map +0 -1
  791. package/dist/services/github-provisioner.d.ts +0 -36
  792. package/dist/services/github-provisioner.js +0 -126
  793. package/dist/services/github-provisioner.js.map +0 -1
  794. package/dist/services/github-service.d.ts +0 -99
  795. package/dist/services/github-service.js +0 -310
  796. package/dist/services/github-service.js.map +0 -1
  797. package/dist/services/image-import-service.d.ts +0 -24
  798. package/dist/services/image-import-service.js +0 -108
  799. package/dist/services/image-import-service.js.map +0 -1
  800. package/dist/services/insights.d.ts +0 -38
  801. package/dist/services/insights.js +0 -269
  802. package/dist/services/insights.js.map +0 -1
  803. package/dist/services/meeting-processor.d.ts +0 -91
  804. package/dist/services/meeting-processor.js +0 -331
  805. package/dist/services/meeting-processor.js.map +0 -1
  806. package/dist/services/sync/collection-sync.d.ts +0 -60
  807. package/dist/services/sync/collection-sync.js +0 -509
  808. package/dist/services/sync/collection-sync.js.map +0 -1
  809. package/dist/services/sync/commit.d.ts +0 -60
  810. package/dist/services/sync/commit.js +0 -354
  811. package/dist/services/sync/commit.js.map +0 -1
  812. package/dist/services/sync/context-index.d.ts +0 -69
  813. package/dist/services/sync/context-index.js +0 -280
  814. package/dist/services/sync/context-index.js.map +0 -1
  815. package/dist/services/sync/data-fetcher.d.ts +0 -31
  816. package/dist/services/sync/data-fetcher.js +0 -12
  817. package/dist/services/sync/data-fetcher.js.map +0 -1
  818. package/dist/services/sync/derive.d.ts +0 -34
  819. package/dist/services/sync/derive.js +0 -164
  820. package/dist/services/sync/derive.js.map +0 -1
  821. package/dist/services/sync/enrichment-state.d.ts +0 -31
  822. package/dist/services/sync/enrichment-state.js +0 -63
  823. package/dist/services/sync/enrichment-state.js.map +0 -1
  824. package/dist/services/sync/enrichment.d.ts +0 -25
  825. package/dist/services/sync/enrichment.js +0 -121
  826. package/dist/services/sync/enrichment.js.map +0 -1
  827. package/dist/services/sync/entity-refresh.d.ts +0 -30
  828. package/dist/services/sync/entity-refresh.js +0 -275
  829. package/dist/services/sync/entity-refresh.js.map +0 -1
  830. package/dist/services/sync/frontmatter-extractor.d.ts +0 -40
  831. package/dist/services/sync/frontmatter-extractor.js +0 -279
  832. package/dist/services/sync/frontmatter-extractor.js.map +0 -1
  833. package/dist/services/sync/graph-match-state.d.ts +0 -33
  834. package/dist/services/sync/graph-match-state.js +0 -61
  835. package/dist/services/sync/graph-match-state.js.map +0 -1
  836. package/dist/services/sync/graph-match.d.ts +0 -53
  837. package/dist/services/sync/graph-match.js +0 -316
  838. package/dist/services/sync/graph-match.js.map +0 -1
  839. package/dist/services/sync/graphrag-client.d.ts +0 -43
  840. package/dist/services/sync/graphrag-client.js +0 -94
  841. package/dist/services/sync/graphrag-client.js.map +0 -1
  842. package/dist/services/sync/graphrag-config.d.ts +0 -16
  843. package/dist/services/sync/graphrag-config.js +0 -39
  844. package/dist/services/sync/graphrag-config.js.map +0 -1
  845. package/dist/services/sync/graphrag-context.d.ts +0 -14
  846. package/dist/services/sync/graphrag-context.js +0 -109
  847. package/dist/services/sync/graphrag-context.js.map +0 -1
  848. package/dist/services/sync/graphrag-indexer.d.ts +0 -30
  849. package/dist/services/sync/graphrag-indexer.js +0 -358
  850. package/dist/services/sync/graphrag-indexer.js.map +0 -1
  851. package/dist/services/sync/llm.d.ts +0 -32
  852. package/dist/services/sync/llm.js +0 -115
  853. package/dist/services/sync/llm.js.map +0 -1
  854. package/dist/services/sync/mcp-client.d.ts +0 -71
  855. package/dist/services/sync/mcp-client.js +0 -299
  856. package/dist/services/sync/mcp-client.js.map +0 -1
  857. package/dist/services/sync/model-factory.d.ts +0 -13
  858. package/dist/services/sync/model-factory.js +0 -38
  859. package/dist/services/sync/model-factory.js.map +0 -1
  860. package/dist/services/sync/name-quality.d.ts +0 -31
  861. package/dist/services/sync/name-quality.js +0 -60
  862. package/dist/services/sync/name-quality.js.map +0 -1
  863. package/dist/services/sync/output-schemas.d.ts +0 -92
  864. package/dist/services/sync/output-schemas.js +0 -43
  865. package/dist/services/sync/output-schemas.js.map +0 -1
  866. package/dist/services/sync/prompts.d.ts +0 -19
  867. package/dist/services/sync/prompts.js +0 -128
  868. package/dist/services/sync/prompts.js.map +0 -1
  869. package/dist/services/sync/reconciler.d.ts +0 -48
  870. package/dist/services/sync/reconciler.js +0 -294
  871. package/dist/services/sync/reconciler.js.map +0 -1
  872. package/dist/services/sync/rest-client.d.ts +0 -40
  873. package/dist/services/sync/rest-client.js +0 -100
  874. package/dist/services/sync/rest-client.js.map +0 -1
  875. package/dist/services/sync/source-config.d.ts +0 -67
  876. package/dist/services/sync/source-config.js +0 -304
  877. package/dist/services/sync/source-config.js.map +0 -1
  878. package/dist/services/sync/source-definitions/asana.d.ts +0 -14
  879. package/dist/services/sync/source-definitions/asana.js +0 -42
  880. package/dist/services/sync/source-definitions/asana.js.map +0 -1
  881. package/dist/services/sync/source-definitions/definitions.d.ts +0 -8
  882. package/dist/services/sync/source-definitions/definitions.js +0 -8
  883. package/dist/services/sync/source-definitions/definitions.js.map +0 -1
  884. package/dist/services/sync/source-definitions/gdrive.d.ts +0 -16
  885. package/dist/services/sync/source-definitions/gdrive.js +0 -68
  886. package/dist/services/sync/source-definitions/gdrive.js.map +0 -1
  887. package/dist/services/sync/source-definitions/granola.d.ts +0 -2
  888. package/dist/services/sync/source-definitions/granola.js +0 -21
  889. package/dist/services/sync/source-definitions/granola.js.map +0 -1
  890. package/dist/services/sync/source-definitions/linear.d.ts +0 -2
  891. package/dist/services/sync/source-definitions/linear.js +0 -62
  892. package/dist/services/sync/source-definitions/linear.js.map +0 -1
  893. package/dist/services/sync/source-definitions/obsidian.d.ts +0 -2
  894. package/dist/services/sync/source-definitions/obsidian.js +0 -55
  895. package/dist/services/sync/source-definitions/obsidian.js.map +0 -1
  896. package/dist/services/sync/source-definitions/pipedrive.d.ts +0 -2
  897. package/dist/services/sync/source-definitions/pipedrive.js +0 -43
  898. package/dist/services/sync/source-definitions/pipedrive.js.map +0 -1
  899. package/dist/services/sync/staging.d.ts +0 -53
  900. package/dist/services/sync/staging.js +0 -130
  901. package/dist/services/sync/staging.js.map +0 -1
  902. package/dist/services/sync/structured-extractor.d.ts +0 -57
  903. package/dist/services/sync/structured-extractor.js +0 -584
  904. package/dist/services/sync/structured-extractor.js.map +0 -1
  905. package/dist/services/sync/sync-runner.d.ts +0 -32
  906. package/dist/services/sync/sync-runner.js +0 -195
  907. package/dist/services/sync/sync-runner.js.map +0 -1
  908. package/dist/services/sync/sync-state.d.ts +0 -43
  909. package/dist/services/sync/sync-state.js +0 -154
  910. package/dist/services/sync/sync-state.js.map +0 -1
  911. package/dist/services/sync/types.d.ts +0 -381
  912. package/dist/services/sync/types.js +0 -8
  913. package/dist/services/sync/types.js.map +0 -1
  914. package/dist/services/sync/unstructured-extractor.d.ts +0 -27
  915. package/dist/services/sync/unstructured-extractor.js +0 -185
  916. package/dist/services/sync/unstructured-extractor.js.map +0 -1
  917. package/dist/utils/merge-resolver.d.ts +0 -59
  918. package/dist/utils/merge-resolver.js +0 -303
  919. package/dist/utils/merge-resolver.js.map +0 -1
  920. package/dist/utils/workspace-config.d.ts +0 -8
  921. package/dist/utils/workspace-config.js +0 -22
  922. package/dist/utils/workspace-config.js.map +0 -1
  923. package/dist/web/_app/immutable/assets/0.QUqBcyuu.css +0 -1
  924. package/dist/web/_app/immutable/assets/11.2jzI3cZY.css +0 -1
  925. package/dist/web/_app/immutable/assets/12.CT4xL4K3.css +0 -1
  926. package/dist/web/_app/immutable/assets/13.BUrHkYry.css +0 -1
  927. package/dist/web/_app/immutable/assets/2.5jNm7Pm1.css +0 -1
  928. package/dist/web/_app/immutable/assets/3.BxdqT7zi.css +0 -1
  929. package/dist/web/_app/immutable/assets/4.BjPwtpNd.css +0 -1
  930. package/dist/web/_app/immutable/assets/5.DFeGxLYf.css +0 -1
  931. package/dist/web/_app/immutable/assets/6.DXZr_rI_.css +0 -1
  932. package/dist/web/_app/immutable/assets/GraphView.D9ePpZez.css +0 -1
  933. package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +0 -1
  934. package/dist/web/_app/immutable/assets/ViewToolbar.CZjsdjy4.css +0 -1
  935. package/dist/web/_app/immutable/assets/WorkspaceView.B-1DbivC.css +0 -1
  936. package/dist/web/_app/immutable/assets/wikilinks.CtSydmQl.css +0 -1
  937. package/dist/web/_app/immutable/chunks/3--t-YNA.js +0 -1
  938. package/dist/web/_app/immutable/chunks/5OU-4caN.js +0 -1
  939. package/dist/web/_app/immutable/chunks/7S2LGqoP.js +0 -2
  940. package/dist/web/_app/immutable/chunks/B6FUcAv5.js +0 -1
  941. package/dist/web/_app/immutable/chunks/B9gDgSlp.js +0 -1
  942. package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
  943. package/dist/web/_app/immutable/chunks/BFtIWl5z.js +0 -1
  944. package/dist/web/_app/immutable/chunks/BHKpz6_7.js +0 -1
  945. package/dist/web/_app/immutable/chunks/BNfrhBeA.js +0 -1
  946. package/dist/web/_app/immutable/chunks/BgO5HlCg.js +0 -2
  947. package/dist/web/_app/immutable/chunks/BqnODQDb.js +0 -1
  948. package/dist/web/_app/immutable/chunks/BrebtJNG.js +0 -18
  949. package/dist/web/_app/immutable/chunks/BvIFhEn7.js +0 -2
  950. package/dist/web/_app/immutable/chunks/BvfdTHv8.js +0 -1
  951. package/dist/web/_app/immutable/chunks/BxGm65PH.js +0 -1
  952. package/dist/web/_app/immutable/chunks/BxyxnEKw.js +0 -1
  953. package/dist/web/_app/immutable/chunks/BygFIGq4.js +0 -1
  954. package/dist/web/_app/immutable/chunks/Bz0ZjVQE.js +0 -2
  955. package/dist/web/_app/immutable/chunks/C0LVZhvn.js +0 -1
  956. package/dist/web/_app/immutable/chunks/CIb_hHMy.js +0 -1
  957. package/dist/web/_app/immutable/chunks/CNKK6nZb.js +0 -1
  958. package/dist/web/_app/immutable/chunks/CQ5FjHZK.js +0 -1
  959. package/dist/web/_app/immutable/chunks/CSVbGg_b.js +0 -5
  960. package/dist/web/_app/immutable/chunks/CX_61fY8.js +0 -5
  961. package/dist/web/_app/immutable/chunks/CYrVHOHA.js +0 -1
  962. package/dist/web/_app/immutable/chunks/CaEaeeKb.js +0 -1
  963. package/dist/web/_app/immutable/chunks/Ch6e_wpP.js +0 -1
  964. package/dist/web/_app/immutable/chunks/Ci4zzCVB.js +0 -2
  965. package/dist/web/_app/immutable/chunks/CknqBVQE.js +0 -1
  966. package/dist/web/_app/immutable/chunks/Cmfiirqp.js +0 -4
  967. package/dist/web/_app/immutable/chunks/CqkleIqs.js +0 -1
  968. package/dist/web/_app/immutable/chunks/CrFpCC6p.js +0 -1
  969. package/dist/web/_app/immutable/chunks/CxX8hcT6.js +0 -1
  970. package/dist/web/_app/immutable/chunks/D0T1ps1G.js +0 -1
  971. package/dist/web/_app/immutable/chunks/D2ZEj9xD.js +0 -1
  972. package/dist/web/_app/immutable/chunks/D3sy0IkA.js +0 -2
  973. package/dist/web/_app/immutable/chunks/DFYOFE3o.js +0 -1
  974. package/dist/web/_app/immutable/chunks/DHWoAC4y.js +0 -1
  975. package/dist/web/_app/immutable/chunks/DYYBfXU3.js +0 -1
  976. package/dist/web/_app/immutable/chunks/DiNPRA8T.js +0 -1
  977. package/dist/web/_app/immutable/chunks/DkjsqHkM.js +0 -1
  978. package/dist/web/_app/immutable/chunks/DnL9f0lc.js +0 -7
  979. package/dist/web/_app/immutable/chunks/DpMCynC3.js +0 -1
  980. package/dist/web/_app/immutable/chunks/DqrybUuA.js +0 -1
  981. package/dist/web/_app/immutable/chunks/DsnmJJEf.js +0 -1
  982. package/dist/web/_app/immutable/chunks/KyjzlWRN.js +0 -2
  983. package/dist/web/_app/immutable/chunks/O9MAeAgV.js +0 -5
  984. package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +0 -1
  985. package/dist/web/_app/immutable/chunks/SKSQ4m85.js +0 -2
  986. package/dist/web/_app/immutable/chunks/WEBTyD-H.js +0 -1
  987. package/dist/web/_app/immutable/chunks/WSUKABI_.js +0 -1
  988. package/dist/web/_app/immutable/chunks/bBXT5iJP.js +0 -1
  989. package/dist/web/_app/immutable/chunks/vxEtkL8z.js +0 -1
  990. package/dist/web/_app/immutable/chunks/wDIGUaoU.js +0 -3
  991. package/dist/web/_app/immutable/chunks/xkNhbnff.js +0 -1
  992. package/dist/web/_app/immutable/chunks/zoVX1Zab.js +0 -1
  993. package/dist/web/_app/immutable/entry/app.GfE4z2GO.js +0 -2
  994. package/dist/web/_app/immutable/entry/start.H-LFJK9u.js +0 -1
  995. package/dist/web/_app/immutable/nodes/0.Bwi7tTNC.js +0 -2
  996. package/dist/web/_app/immutable/nodes/1.DgNJPEWk.js +0 -1
  997. package/dist/web/_app/immutable/nodes/10.BW_XCD2O.js +0 -1
  998. package/dist/web/_app/immutable/nodes/11.DM7RX3Ms.js +0 -1
  999. package/dist/web/_app/immutable/nodes/12.DKgssZo8.js +0 -1
  1000. package/dist/web/_app/immutable/nodes/13.DCdmTre-.js +0 -1
  1001. package/dist/web/_app/immutable/nodes/2.DOA5QBVG.js +0 -266
  1002. package/dist/web/_app/immutable/nodes/3.bpoHQwAI.js +0 -5
  1003. package/dist/web/_app/immutable/nodes/4.ye0Vy7A1.js +0 -11
  1004. package/dist/web/_app/immutable/nodes/5.rxpnYrx_.js +0 -4
  1005. package/dist/web/_app/immutable/nodes/6.DP8HSxtc.js +0 -1
  1006. package/dist/web/_app/immutable/nodes/7.C1h4Bf-E.js +0 -1
  1007. package/dist/web/_app/immutable/nodes/8.BzmQ7S7Y.js +0 -1
  1008. package/dist/web/_app/immutable/nodes/9.CEakpXpF.js +0 -1
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Renders the `## Entry Types` section injected into the agent system prompt.
3
+ *
4
+ * Consumers (orchestrator.ts, cli/commands/start.ts) replace the
5
+ * `{{ENTITY_TYPES}}` placeholder in system.md with the output of this function.
6
+ *
7
+ * The agent now has the full curated catalog available at all times. The
8
+ * "basic" vs "show more" distinction is a UI concern in the New Entry
9
+ * picker, not a creation-permission gate. Workspace-defined custom types
10
+ * (via schema_extensions) are appended after the canonical list.
11
+ */
12
+ import { CURATED_ENTITY_TYPES, CURATED_ENTITY_TYPE_DESCRIPTIONS, DEFAULT_BASIC_ENTITY_TYPES, isCuratedEntityType, } from '../../core/entity-types-catalog.js';
13
+ export function renderEntityTypesSection(options = {}) {
14
+ const lines = [];
15
+ lines.push('## Entry Types');
16
+ lines.push('');
17
+ // `asset` is canonical and surfaces in the catalog so the agent can read,
18
+ // search, and link to existing asset entries — but it's filtered out of
19
+ // the create_entity-creatable list because asset entries require a binary
20
+ // blob in the storage backend, which create_entity can't materialize.
21
+ // See `getAgentAllowedEntityTypes` below.
22
+ const creatableTypes = CURATED_ENTITY_TYPES.filter(t => t !== 'asset');
23
+ lines.push(`You have access to ${creatableTypes.length} canonical entry types via create_entity. ` +
24
+ `Any type can live in any folder. Use the most specific type that fits — ` +
25
+ `don't collapse a deck into a document, or a service into a note, just ` +
26
+ `because they're simpler.`);
27
+ lines.push('');
28
+ for (const type of creatableTypes) {
29
+ lines.push(`- \`${type}\`: ${CURATED_ENTITY_TYPE_DESCRIPTIONS[type]}`);
30
+ }
31
+ // Asset is documented separately so the agent knows what asset entries
32
+ // ARE (for read/search/link purposes) without being tempted to call
33
+ // create_entity for them.
34
+ lines.push('');
35
+ lines.push('**Asset entries:** there is also a canonical `asset` entry type for ' +
36
+ 'hosted binaries (images, video, audio, PDFs, spreadsheets, and other ' +
37
+ 'opaque files). You can list, search, link to, and read existing asset ' +
38
+ 'entries — but they cannot be created via `create_entity` because they ' +
39
+ 'require a binary in the storage backend. Use the `import_file` tool ' +
40
+ 'with a local file path to create one, or ask the user to upload via ' +
41
+ 'the workspace UI.');
42
+ const customTypes = (options.customTypes ?? []).filter(t => t && t.trim().length > 0 && !isCuratedEntityType(t));
43
+ if (customTypes.length > 0) {
44
+ lines.push('');
45
+ lines.push('**Custom types defined in this workspace:**');
46
+ for (const type of customTypes) {
47
+ lines.push(`- \`${type}\``);
48
+ }
49
+ }
50
+ lines.push('');
51
+ lines.push('**Defaulting and suggestion flow:**');
52
+ lines.push('- For freeform captured content with no obvious fit, use `note`.');
53
+ lines.push('- If the captured content clearly matches a more specific canonical type ' +
54
+ '(for example the user describes a meeting/workshop/call, a decision, a deal, a deck, or a deliverable), ' +
55
+ 'ask once before creating: *"This looks like a meeting — want me to save it as an Event entry?"* ' +
56
+ 'If the user accepts, create it as that type. (Meetings, calls, workshops, reviews, etc. all use `event` with the appropriate `type` value.)');
57
+ lines.push(`- The "basic" tier in the user-facing picker starts with ${DEFAULT_BASIC_ENTITY_TYPES.join(', ')}, ` +
58
+ 'but you are not restricted to that subset — use whichever canonical type fits.');
59
+ return lines.join('\n');
60
+ }
61
+ /**
62
+ * List of entity type names the agent is allowed to create in a given
63
+ * workspace: the full canonical catalog plus any custom workspace types.
64
+ * Used for tool-schema enum construction and runtime guard checks.
65
+ *
66
+ * `asset` is intentionally excluded. Asset entities are bound to a binary
67
+ * blob in the storage backend (R2 or local volume) plus an `asset_url` and
68
+ * (for PDFs) a text sidecar. `create_entity` only writes markdown
69
+ * frontmatter — it can't materialize the binary or sidecar, so accepting
70
+ * `asset` would let an LLM (via prompt injection) create stub entities
71
+ * with attacker-controlled `asset_url` values. Use `import_file` (with a
72
+ * real file path) or the upload routes instead.
73
+ */
74
+ export function getAgentAllowedEntityTypes(customTypes = []) {
75
+ const unique = new Set(CURATED_ENTITY_TYPES);
76
+ for (const t of customTypes) {
77
+ if (t && t.trim().length > 0)
78
+ unique.add(t);
79
+ }
80
+ unique.delete('asset');
81
+ return Array.from(unique);
82
+ }
83
+ //# sourceMappingURL=entity-types-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-types-section.js","sourceRoot":"","sources":["../../../src/agent/prompts/entity-types-section.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,12 @@ You are Studiograph, an AI assistant helping creative teams manage their knowled
7
7
  You can help users with:
8
8
 
9
9
  1. **Entry Management**
10
- - Create, read, update, and delete entries (projects, clients, decisions, briefs, etc.)
10
+ - Create, read, update, and delete entries (projects, events, people, tasks, documents, notes, etc.)
11
11
  - Validate entry data against schemas
12
12
  - Suggest appropriate entry types for user needs
13
13
 
14
14
  2. **Knowledge Graph Navigation**
15
- - Search across collections
15
+ - Search across folders
16
16
  - Follow wikilink relationships
17
17
  - Find related entries and backlinks
18
18
  - Validate wikilinks to ensure data integrity
@@ -56,84 +56,140 @@ You can help users with:
56
56
  - NEVER use emojis or emoticons in any response — no exceptions
57
57
  - Use plain text only: dashes, bullets, and bold for emphasis
58
58
  - Keep language clear, direct, and professional
59
+ - When you create, update, or otherwise reference entries, link to them inline using `[[entry-id]]` wikilinks so the user can click through if they want to. Do not assume the user has been navigated anywhere — they stay on whatever page they were on when they called you.
59
60
 
60
61
  **Respect Structure:**
61
62
  - Follow the established entry schemas
62
63
  - Maintain consistent naming conventions (kebab-case IDs)
63
64
  - Preserve YAML frontmatter formatting
65
+ - Body content starts at `##` (h2). The entry's title lives in the frontmatter `name` field and is rendered above the body by the editor — do not add a redundant `# Title` line at the top of the body.
64
66
  - Keep wikilinks properly formatted: `[[entry-id]]` or `[[entry-id|Display Text]]`
67
+ - **Array fields with wikilinks** (attendees, related_people, related_projects, participants, etc.) must have ONE wikilink per array item. Never pack multiple wikilinks into a single string — `attendees: ['[[a]], [[b]]']` is wrong. Emit each as its own item:
65
68
 
66
- ## Entry Types
69
+ ```yaml
70
+ attendees:
71
+ - '[[a]]'
72
+ - '[[b]]'
73
+ ```
67
74
 
68
- You have access to 17 built-in entry types. Any entry type can live in any collection.
75
+ ## Scope Awareness
69
76
 
70
- **Identity Entries:**
71
- - `person`: Team members, client contacts, any individual (status: current/former/contractor/client/partner)
72
- - `organization`: Clients, vendors, partners, prospects (type: client/vendor/partner/prospect/industry-body; status: active/inactive/prospect/former)
73
- - `role`: Role definitions from leveling framework (title, department, level, type: staff/contractor/intern)
74
- - `practice-area`: Firm capabilities and disciplines (e.g. Data Visualization, UX Design)
77
+ The user's message may be prefixed with a `[Currently viewing: ...]` marker. Use it to default the scope of your response to what they're looking at — they shouldn't have to repeat "in this folder" or "this entry" in every message.
75
78
 
76
- **Universal Entries:**
77
- - `project`: Client engagements and initiatives (type: client-project/internal-initiative/event/research)
78
- - `meeting`: Any scheduled gathering (type: internal/client/workshop/conference/industry-event)
79
- - `decision`: Structured decision records (ADR-style)
80
- - `task`: Action items and to-dos (status: open/in-progress/done/cancelled)
81
- - `document`: Any authored document (type: proposal/contract/brief/memo/financial-plan/template/report)
82
- - `dataset`: Structured tabular data with typed columns
83
- - `reference`: External resources and inspiration (type: article/video/tool/technique/framework/website)
84
- - `note`: Freeform thinking (type: research/scratch/daily/brainstorm/draft)
85
- - `deliverable`: Contracted outputs promised to a client
86
- - `publication`: Content published externally (type: article/social-post/case-study-writeup/talk/podcast/award-submission)
79
+ - **No marker** → user is on the workspace home. Default to workspace-wide scope: searches span all folders they can access, suggestions can reference any entry.
80
+ - **`[Currently viewing folder: <name>]`** → user is looking at a single folder. Default searches, lists, and new-entry placement to that folder unless they say otherwise. When creating entries here, don't ask which folder — it's this one.
81
+ - **`[Currently viewing entry: <repo>/<type>/<id>]`** → user is on a specific entry. Questions without a clear subject are about THIS entry. The entry's frontmatter and content are provided inline; use them before calling `get_entity`.
87
82
 
88
- **Knowledge Entries** (typically in resource collections):
89
- - `process`: Workflows, SOPs, methodologies
90
- - `standard`: Guidelines and best practices (category: accessibility/design-principles/code-standards)
91
- - `case-study`: Portfolio narratives for completed work
83
+ The user can always override by naming a different scope explicitly ("search all folders", "put this in the brand-refresh folder"). When they do, follow their explicit scope.
92
84
 
93
- **Deal lifecycle:** `organization` (status: prospect) + `person` contacts → `document` (type: proposal) → won → `project` → `deliverable`
85
+ {{ENTITY_TYPES}}
94
86
 
95
87
  ## Entry Placement
96
88
 
97
89
  When creating entries, follow these rules:
98
90
 
99
91
  **Confirm before writing:**
100
- Unless the user has explicitly specified where to put an entry, always confirm the inferred collection before creating it. For example: *"I'll save this as a document in the meridian-rebrand collection — does that sound right?"* Wait for confirmation before calling `create_entity`.
92
+ Unless the user has explicitly specified where to put an entry, always confirm the inferred folder before creating it. For example: *"I'll save this as a document in the meridian-rebrand folder — does that sound right?"* Wait for confirmation before calling `create_entity`.
101
93
 
102
- **Collection routing:**
103
- - Related to a specific project → that project's collection
104
- - Team-wide reusable content (processes, standards) → a resource collection
105
- - Business operations → a function collection
106
- - Identity entries (person, organization) → wherever makes sense for the team. If the team has a dedicated collection for contacts/identities, suggest that. Otherwise, put them in the relevant project collection.
94
+ **Folder routing:**
95
+ - Related to a specific project → that project's folder
96
+ - Team-wide reusable content (processes, standards) → a resource folder
97
+ - Business operations → a function folder
98
+ - Identity entries (person, organization) → wherever makes sense for the team. If the team has a dedicated folder for contacts/identities, suggest that. Otherwise, put them in the relevant project folder.
107
99
 
108
- **Deduplication:** Entry IDs must be unique across the entire workspace. If you try to create an entry with an ID that already exists in another collection, the system will reject it. Use `[[wikilinks]]` to reference existing entries instead of recreating them.
100
+ **Deduplication:** Entry IDs must be unique across the entire workspace. If you try to create an entry with an ID that already exists in another folder, the system will reject it. Use `[[wikilinks]]` to reference existing entries instead of recreating them.
109
101
 
110
- **Helping teams organize:** When the user needs a new collection (e.g. starting a new project), guide them to create one. Collections are lightweight — don't hesitate to suggest creating a new one when it makes sense.
102
+ **Helping teams organize:** When the user needs a new folder (e.g. starting a new project), guide them to create one. Folders are lightweight — don't hesitate to suggest creating a new one when it makes sense. Folders created via `create_folder` are shared team folders; the creator is granted admin. For personal-only entries use `repo: "private"` instead (every user already has a "My Entries" folder — don't create another one).
111
103
 
112
- **Privacy — private collections vs. visibility field:**
104
+ **Privacy — private folders vs. visibility field:**
113
105
 
114
106
  These are two different mechanisms. Do not confuse them:
115
107
 
116
108
  | | `repo: "private"` | `visibility: admin/restricted` |
117
109
  |---|---|---|
118
- | What it means | Saved to the user's personal "My Entries" collection (local-only, never synced) | File is committed but access-controlled in the collection |
110
+ | What it means | Saved to the user's personal "My Entries" folder (local-only, never synced) | File is committed but access-controlled in the folder |
119
111
  | Use when | "Make it private" / draft / sensitive / not ready to share | Committed file that only certain roles should see |
120
112
 
121
- Every user has exactly one private collection ("My Entries") auto-created for them. When a user says "make it private", "keep this to myself", "don't share this", or "just for me" → use `repo: "private"`. The system auto-resolves `"private"` to the current user's personal collection. Do **not** use `visibility: admin` or `visibility: restricted` as a substitute for private storage.
113
+ Every user has a default private folder ("My Entries") auto-created for them. When a user says "make it private", "keep this to myself", "don't share this", or "just for me" → use `repo: "private"`. The system auto-resolves `"private"` to the current user's personal folder. Do **not** use `visibility: admin` or `visibility: restricted` as a substitute for private storage.
122
114
 
123
115
  - If a draft or sensitive entry should stay private → `repo: "private"`
124
- - When unsure, ask: *"Should this stay in your personal entries, or be added to a team collection with restricted access?"*
116
+ - When unsure, ask: *"Should this stay in your personal entries, or be added to a team folder with restricted access?"*
125
117
  - Private entries can wikilink to public entries
126
- - Use `search_entities` with `repoNames: ["private"]` to search the user's private collection
127
- - Never suggest committing or pushing anything from a private collection
118
+ - Use `search_entities` with `repoNames: ["private"]` to search the user's private folder
119
+ - Never suggest committing or pushing anything from a private folder
128
120
 
129
121
  **Entry type for generated content:**
130
- - Reports, assessments, summaries, email drafts, briefs, analyses use `document` (type field: `"report"`, `"brief"`, `"memo"`, etc.)
131
- - Freeform thinking, research, scratch notes → use `note`
122
+ - Pick the most specific canonical type. Don't collapse a deck into a document, or a service into a note, just because it's simpler — the catalog has a dedicated type for each. `deck` for decks, `deliverable` for scoped client outputs, `publication` for published content, `case-study` for portfolio narratives, `service` for the firm's offerings + methodologies, `position` for open jobs, `reference` for external resources, `document` for general authored documents (proposals, briefs, memos, reports, templates, guidelines), and so on. Decisions are plain `note` entries — there is no dedicated decision type.
123
+ - Freeform thinking, research, scratch notes → use `note`.
124
+ - If captured content clearly matches a specific canonical type better than `note`, ask the user once before creating: *"This looks like a meeting — want me to save it as an Event entry?"* If the user accepts, create it as that type. (Meetings, calls, workshops, reviews, etc. all use `event` with the appropriate `type` value — `meeting` is the default.)
132
125
 
133
126
  **Content format:**
134
127
  - Text content → markdown body of the entry
135
128
  - Binary or externally-hosted files → `url` field pointing to R2 URL or local path
136
129
 
130
+ ## Folder Management
131
+
132
+ Repos can hold nested subfolders that organise entries Drive/Finder-style. The Folder Inventory section below lists every repo's existing subfolders — consult it before deciding where things go.
133
+
134
+ **Routing rules:**
135
+ - **Prefer existing folders.** If the inventory already shows a folder that fits, use its path on `create_entity` via `folder_path`. Don't create a near-duplicate ("clients/acme" vs "Clients/Acme") — match the existing slug exactly.
136
+ - **Default to root.** If no existing folder fits and the repo's organising style is flat, leave `folder_path` off. Suggesting a folder is fine; unilaterally creating one is not.
137
+ - **Mirror the user's style.** Heavily nested repo → use subfolders. Flat repo → leave at root. Don't impose structure on a repo that doesn't have one.
138
+ - **Default to the active folder context.** When the user's `[Currently viewing folder: ...]` marker points inside a subfolder, route new entries to that subfolder unless they say otherwise.
139
+
140
+ **Restraint rules (read carefully):**
141
+ - **Never reorganise, rename, or delete existing folders or entries without an explicit user request.** Cleaning up someone else's filing system is a high-trust action. Wait to be asked.
142
+ - For destructive operations (`delete_folder`, `rename_folder`, `move_entity`, `transfer_entity`), confirm with the user first. State what will move and roughly how much:
143
+ - Delete: *"Delete folder `clients/acme` and everything inside it (14 entries, 3 subfolders)?"*
144
+ - Rename: *"Rename `clients/acme` → `clients/acme-corp` and update path of 14 entries?"*
145
+ - Move entry (same repo): *"Move 'Q1 Standup' from `inbox` to `clients/acme/meetings`?"*
146
+ - Transfer entry (across repos): *"Transfer 'Q1 Standup' from `inbox` to the `clients` folder?"*
147
+ - `delete_folder` defaults to non-recursive. The first call on a non-empty folder returns a `blast_radius` payload — present it to the user, get confirmation, then re-invoke with `recursive: true`. Never pass `recursive: true` on the first attempt.
148
+ - `create_folder` is fine without confirmation when it's clearly the right structural move (e.g. user said "set up a folder for the Acme work"). Otherwise propose first.
149
+ - `list_folders(repo)` is read-only — call it freely when you need to verify what exists in a repo before placing new entries or proposing a folder change.
150
+
151
+ ## Git History
152
+
153
+ Every workspace folder is a git repository. The history tools let you answer "what changed", "what did I delete", and "bring that back" without leaving the conversation.
154
+
155
+ **Discovery first.** When the user says *"what changed yesterday"*, *"what did I delete"*, *"undo"*, *"restore"*, or *"bring back"* — call `list_recent_deletions(repo)` or `list_folder_history(repo)` before guessing. Never invent a commit hash; always read it from one of these tools.
156
+
157
+ **Read tools (always safe):**
158
+ - `list_file_history(repo, entityType, entityId)` — commits that touched one entry. Works for existing AND recently-deleted entries (30-day deletion lookup).
159
+ - `list_folder_history(repo)` — recent commits across a whole folder.
160
+ - `list_recent_deletions(repo, withinDays?)` — entries deleted within the last N days. The discovery primitive; surfaces the `lastVersionCommit` you'll pass to `restore_file`.
161
+ - `read_file_at_commit(repo, entityType, entityId, commitHash)` — full content at a past commit. Use to preview what `restore_file` would put back.
162
+ - `get_entity_diff(repo, entityType, entityId, fromCommit, toCommit?)` — unified diff between two commits.
163
+
164
+ **Write tool — preview-then-confirm:**
165
+ - `restore_file(repo, entityType, entityId, commitHash)` — first call returns a `PREVIEW_REQUIRED` payload (action: recreate / overwrite, target path, size). Present that to the user verbatim. Re-invoke with `confirm: true` ONLY after explicit approval.
166
+ - A `PATH_CONFLICT` payload means the recreate target is now occupied by a different entry. Tell the user who's there and ask how to resolve.
167
+
168
+ **Restraint:**
169
+ - Restore only the entry the user named. There is no multi-entity rollback tool yet — if the user wants to revert several entries at once, restore each one individually after confirming each.
170
+ - Never restore without a preview-then-confirm round-trip, even for clearly-recent deletions. The cost of asking is low; the cost of restoring the wrong version is high.
171
+
172
+ ## User-Facing Input Surfaces
173
+
174
+ The user can give you new information through several routes. When asked
175
+ *"how do I add content?"*, *"how can I give you more information?"*, or
176
+ similar discovery questions, mention these explicitly by their visible UI
177
+ labels — not by internal names — so the user can find them on screen:
178
+
179
+ - **The chat panel** (where you're talking now) — they can type, paste
180
+ text, or paste URLs. You'll extract entries from what they send.
181
+ - **The "Add to your workspace" input** — a prominent input box on the
182
+ home screen, labeled exactly **"Add to your workspace"**. It accepts
183
+ pasted URLs, pasted text, or dropped files (PDFs, documents, notes).
184
+ Anything dropped there is captured into the graph the same way as chat
185
+ input. Refer to it by that exact label so a user who hasn't found it
186
+ yet can locate it on screen.
187
+ - **Meeting capture** (when enabled) — for live or recorded meetings.
188
+
189
+ Do not invent surfaces that don't exist (no "Quick Capture" branding,
190
+ no "Import" menu, no "Upload" button on the chat panel). Stick to the
191
+ three above.
192
+
137
193
  ## Interaction Patterns
138
194
 
139
195
  **When creating entries:**
@@ -158,13 +214,13 @@ Every user has exactly one private collection ("My Entries") auto-created for th
158
214
 
159
215
  You have access to tools in the following categories:
160
216
 
161
- **Entry Management** — CRUD operations on knowledge graph entries, wikilink traversal, search, schema queries, datasets, and linting.
217
+ **Entry Management** — CRUD operations on knowledge graph entries, wikilink traversal, search, schema queries, and linting.
162
218
 
163
219
  **External Connectors** — Query external services (Linear, Slack, Pipedrive, Granola, etc.) on demand via `connector_list` and `connector_call`. Use these to look up data in external tools — do NOT suggest syncing, importing, or building sync configs. Connectors are for live queries only.
164
220
 
165
- **Workspace Git** — Check uncommitted changes, review diffs, and commit across all workspace collections. Use these when users ask about pending changes or want to commit.
221
+ **Workspace Git** — Check uncommitted changes, review diffs, and commit across all workspace folders. Use these when users ask about pending changes or want to commit.
166
222
 
167
- **Skills** — Load domain-specific guidance on demand (see "Available Skills" below).
223
+ **Skills** — Load domain-specific guidance on demand (see "Available Skills" below). Users can author their own skills as `skill` entries in any folder — the entity id is the skill name, `description` and `loading` are frontmatter fields, and the markdown body is the instructions. Personal skills go in the user's private folder; team skills go in shared folders.
168
224
 
169
225
  ### Tool Selection
170
226
 
@@ -187,6 +243,7 @@ When you have a workspace briefing in your context:
187
243
  - If nothing is urgent: "Things look stable. Your [project] is on track."
188
244
  - If the user dismisses something, acknowledge it and move on. The dismissal will be reflected in the next briefing via your memory.
189
245
  - Never recite the full briefing. Pick 1-3 items based on urgency.
246
+ - **Don't repeat the user's greeting.** If the user's message starts with "Good morning/afternoon/evening", they've already greeted themselves — you greet them at most once in the entire response. If you emit a preamble before tool calls (e.g. "Let me take a quick look..."), the final response after the tools must NOT greet again; skip straight to the substance.
190
247
 
191
248
  ## Follow-Up Suggestions
192
249
 
@@ -196,12 +253,14 @@ At the end of every response, include exactly 3 contextual follow-up prompts. Fo
196
253
 
197
254
  Rules:
198
255
  - Specific to the conversation, not generic
199
- - Each prompt is a complete sentence the user could send as their next message
256
+ - Each prompt is a complete sentence the user could send **as-is** no placeholder syntax like `[name]`, `[role]`, `{project}`, or `<topic>`. If you don't know the value, don't include that suggestion; the user shouldn't have to edit the prompt before clicking it.
257
+ - Only suggest actions the tools can actually perform. Don't offer PDF export, slide export, printing, emailing, publishing, deck generation, or any other output format Studiograph doesn't produce. When in doubt, stick to search / read / create-entry / update-entry / link / summarise.
200
258
  - After creating/updating entries: suggest exploring relationships, adding detail, or related actions
201
- - In interview/building mode: suggest continuing with next topic or deepening what was discussed
202
259
  - One suggestion may be an action ("Create a project entry for X") rather than a question
203
260
  - Keep each under 60 characters
204
- - Always include this comment, even after short responses
261
+ - During onboarding interview: omit the followups comment entirely the UI handles suggestions
262
+ - Exception: if the user defers onboarding ("I'll finish this later", "come back to this", etc.), include exactly one suggestion: "Continue where I left off"
263
+ - Always include this comment in all other contexts, even after short responses
205
264
 
206
265
  ## Remember
207
266
 
@@ -1,21 +1,19 @@
1
1
  /**
2
2
  * Skill Loader — prompt skills for the Studiograph agent.
3
3
  *
4
- * Skills are markdown files with YAML frontmatter that inject domain-specific
5
- * knowledge into the agent's system prompt. Two formats supported:
4
+ * Skills come from two sources:
6
5
  *
7
- * Directory skill:
8
- * skills/create-deck/
9
- * skill.md ← required entrypoint
10
- * slide-types.md ← optional sub-files
6
+ * 1. Bundled filesystem skills — shipped with the app. Two formats:
7
+ * Directory skill: skills/create-deck/skill.md (+ optional sub-files)
8
+ * Single-file skill: skills/quick-tip.md
9
+ * Frontmatter fields: name, description, loading ("eager" | "on-demand").
11
10
  *
12
- * Single-file skill:
13
- * skills/quick-tip.md
14
- *
15
- * Frontmatter fields:
16
- * name: kebab-case identifier (defaults to directory/filename)
17
- * description: shown in skill index so agent knows when to load it
18
- * loading: "on-demand" (default) | "eager" (inlined in system prompt)
11
+ * 2. Graph skills — authored by users as `skill` entities in any folder
12
+ * (personal or shared). The entity id IS the skill name; `description`
13
+ * and `loading` are frontmatter fields; the body markdown is the
14
+ * instruction content. Graph skills use a `graph://<repo>/<id>`
15
+ * entrypoint sentinel and are resolved via an optional graphResolver
16
+ * callback passed to `loadSkillContent` / `loadEagerSkills`.
19
17
  */
20
18
  export interface SkillMeta {
21
19
  name: string;
@@ -31,18 +29,33 @@ export interface SkillMeta {
31
29
  * so workspace-level skills override app-bundled skills.
32
30
  */
33
31
  export declare function loadSkillIndex(skillsDirs: string[]): SkillMeta[];
32
+ /** Resolver callback that loads a graph-authored skill's body by (repo, id). */
33
+ export type GraphSkillResolver = (repo: string, id: string) => string;
34
+ /**
35
+ * Parse a `graph://<repo>/<id>` entrypoint into its components.
36
+ * Returns null for filesystem paths.
37
+ */
38
+ export declare function parseGraphSkillEntrypoint(entrypoint: string): {
39
+ repo: string;
40
+ id: string;
41
+ } | null;
34
42
  /**
35
43
  * Load the full content of a skill's entrypoint or a named sub-file.
36
- * Sanitises the file parameter to prevent path traversal.
44
+ * Sanitises the file parameter to prevent path traversal. Graph-authored
45
+ * skills route through the provided resolver; filesystem skills read from
46
+ * disk.
37
47
  */
38
- export declare function loadSkillContent(meta: SkillMeta, file?: string): string;
48
+ export declare function loadSkillContent(meta: SkillMeta, file?: string, graphResolver?: GraphSkillResolver): string;
39
49
  /**
40
50
  * Build the skill index section to append to the system prompt.
41
51
  * Eager skills are inlined separately; this lists only on-demand skills.
42
52
  */
43
53
  export declare function buildSkillIndexPrompt(skills: SkillMeta[]): string;
54
+ /** Cap on total eager-skill content inlined into the system prompt. */
55
+ export declare const EAGER_SKILL_BYTE_CAP = 20000;
44
56
  /**
45
57
  * Return the full content of all eager skills, to be injected directly
46
- * into the system prompt at startup.
58
+ * into the system prompt at startup. Respects `EAGER_SKILL_BYTE_CAP` —
59
+ * skills beyond the cap are dropped with a warning to stderr.
47
60
  */
48
- export declare function loadEagerSkills(skills: SkillMeta[]): string;
61
+ export declare function loadEagerSkills(skills: SkillMeta[], graphResolver?: GraphSkillResolver): string;
@@ -1,26 +1,22 @@
1
1
  /**
2
2
  * Skill Loader — prompt skills for the Studiograph agent.
3
3
  *
4
- * Skills are markdown files with YAML frontmatter that inject domain-specific
5
- * knowledge into the agent's system prompt. Two formats supported:
4
+ * Skills come from two sources:
6
5
  *
7
- * Directory skill:
8
- * skills/create-deck/
9
- * skill.md ← required entrypoint
10
- * slide-types.md ← optional sub-files
6
+ * 1. Bundled filesystem skills — shipped with the app. Two formats:
7
+ * Directory skill: skills/create-deck/skill.md (+ optional sub-files)
8
+ * Single-file skill: skills/quick-tip.md
9
+ * Frontmatter fields: name, description, loading ("eager" | "on-demand").
11
10
  *
12
- * Single-file skill:
13
- * skills/quick-tip.md
14
- *
15
- * Frontmatter fields:
16
- * name: kebab-case identifier (defaults to directory/filename)
17
- * description: shown in skill index so agent knows when to load it
18
- * loading: "on-demand" (default) | "eager" (inlined in system prompt)
11
+ * 2. Graph skills — authored by users as `skill` entities in any folder
12
+ * (personal or shared). The entity id IS the skill name; `description`
13
+ * and `loading` are frontmatter fields; the body markdown is the
14
+ * instruction content. Graph skills use a `graph://<repo>/<id>`
15
+ * entrypoint sentinel and are resolved via an optional graphResolver
16
+ * callback passed to `loadSkillContent` / `loadEagerSkills`.
19
17
  */
20
18
  import { existsSync, readdirSync, readFileSync } from 'fs';
21
19
  import { join, extname, basename } from 'path';
22
- // Skills gated for MVP — re-enable when sync pipeline is production-ready
23
- const GATED_SKILLS = new Set(['sync-setup', 'sync-configuration', 'enrich-entities', 'obsidian-source-setup']);
24
20
  /**
25
21
  * Minimal YAML frontmatter parser — handles the subset used by skills.
26
22
  */
@@ -70,9 +66,6 @@ export function loadSkillIndex(skillsDirs) {
70
66
  const content = readFileSync(skillMd, 'utf-8');
71
67
  const { meta } = parseFrontmatter(content);
72
68
  const name = meta.name || entry;
73
- // Skip sync/enrich skills for MVP
74
- if (GATED_SKILLS.has(name))
75
- continue;
76
69
  if (!seen.has(name)) {
77
70
  seen.add(name);
78
71
  skills.push({
@@ -99,9 +92,6 @@ export function loadSkillIndex(skillsDirs) {
99
92
  if (!meta.name && !meta.description)
100
93
  continue;
101
94
  const name = meta.name || basename(entry, '.md');
102
- // Skip sync/enrich skills for MVP
103
- if (GATED_SKILLS.has(name))
104
- continue;
105
95
  if (!seen.has(name)) {
106
96
  seen.add(name);
107
97
  skills.push({
@@ -122,11 +112,37 @@ export function loadSkillIndex(skillsDirs) {
122
112
  }
123
113
  return skills;
124
114
  }
115
+ const GRAPH_PREFIX = 'graph://';
116
+ /**
117
+ * Parse a `graph://<repo>/<id>` entrypoint into its components.
118
+ * Returns null for filesystem paths.
119
+ */
120
+ export function parseGraphSkillEntrypoint(entrypoint) {
121
+ if (!entrypoint.startsWith(GRAPH_PREFIX))
122
+ return null;
123
+ const rest = entrypoint.slice(GRAPH_PREFIX.length);
124
+ const slash = rest.indexOf('/');
125
+ if (slash === -1)
126
+ return null;
127
+ return { repo: rest.slice(0, slash), id: rest.slice(slash + 1) };
128
+ }
125
129
  /**
126
130
  * Load the full content of a skill's entrypoint or a named sub-file.
127
- * Sanitises the file parameter to prevent path traversal.
131
+ * Sanitises the file parameter to prevent path traversal. Graph-authored
132
+ * skills route through the provided resolver; filesystem skills read from
133
+ * disk.
128
134
  */
129
- export function loadSkillContent(meta, file) {
135
+ export function loadSkillContent(meta, file, graphResolver) {
136
+ const graph = parseGraphSkillEntrypoint(meta.entrypoint);
137
+ if (graph) {
138
+ if (file) {
139
+ return `Error: skill "${meta.name}" is a graph skill and has no sub-files. Use wikilinks in the skill body to reference other entries.`;
140
+ }
141
+ if (!graphResolver) {
142
+ return `Error: cannot load graph skill "${meta.name}" — no resolver provided.`;
143
+ }
144
+ return graphResolver(graph.repo, graph.id);
145
+ }
130
146
  if (file) {
131
147
  if (!meta.isDirectory) {
132
148
  return `Error: skill "${meta.name}" is a single-file skill with no sub-files.`;
@@ -152,23 +168,40 @@ export function buildSkillIndexPrompt(skills) {
152
168
  const onDemand = skills.filter(s => s.loading === 'on-demand');
153
169
  if (onDemand.length === 0)
154
170
  return '';
171
+ const formatSource = (dir) => {
172
+ const graph = parseGraphSkillEntrypoint(dir + '/');
173
+ return graph ? ` _(folder: ${graph.repo})_` : '';
174
+ };
155
175
  const lines = [
156
176
  '## Available Skills',
157
177
  '',
158
178
  'Call `load_skill` to load domain-specific guidance when it is relevant to the current task.',
159
179
  '',
160
- ...onDemand.map(s => `- **${s.name}** — ${s.description}`),
180
+ ...onDemand.map(s => `- **${s.name}**${formatSource(s.dir)} — ${s.description}`),
161
181
  ];
162
182
  return lines.join('\n');
163
183
  }
184
+ /** Cap on total eager-skill content inlined into the system prompt. */
185
+ export const EAGER_SKILL_BYTE_CAP = 20_000;
164
186
  /**
165
187
  * Return the full content of all eager skills, to be injected directly
166
- * into the system prompt at startup.
188
+ * into the system prompt at startup. Respects `EAGER_SKILL_BYTE_CAP` —
189
+ * skills beyond the cap are dropped with a warning to stderr.
167
190
  */
168
- export function loadEagerSkills(skills) {
169
- return skills
170
- .filter(s => s.loading === 'eager')
171
- .map(s => loadSkillContent(s))
172
- .join('\n\n---\n\n');
191
+ export function loadEagerSkills(skills, graphResolver) {
192
+ const pieces = [];
193
+ let total = 0;
194
+ for (const skill of skills.filter(s => s.loading === 'eager')) {
195
+ const content = loadSkillContent(skill, undefined, graphResolver);
196
+ if (total + content.length > EAGER_SKILL_BYTE_CAP) {
197
+ if (process.env.STUDIOGRAPH_VERBOSE === '1') {
198
+ console.warn(`[skill-loader] eager skill "${skill.name}" dropped — cap ${EAGER_SKILL_BYTE_CAP}B reached.`);
199
+ }
200
+ continue;
201
+ }
202
+ pieces.push(content);
203
+ total += content.length;
204
+ }
205
+ return pieces.join('\n\n---\n\n');
173
206
  }
174
207
  //# sourceMappingURL=skill-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-loader.js","sourceRoot":"","sources":["../../src/agent/skill-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAE/C,0EAA0E;AAC1E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAW/G;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,SAAS;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,UAAoB;IACjD,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAE/B,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAEnC,oDAAoD;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC5C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;oBAChC,kCAAkC;oBAClC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;wBAAE,SAAS;oBACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACf,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI;4BACJ,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;4BACnC,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;4BACzD,GAAG,EAAE,SAAS;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW,EAAE,IAAI;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,+DAA+D;YAC/D,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBACjD,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC3C,uDAAuD;oBACvD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW;wBAAE,SAAS;oBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACjD,kCAAkC;oBAClC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;wBAAE,SAAS;oBACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACf,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI;4BACJ,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;4BACnC,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;4BACzD,GAAG;4BACH,UAAU,EAAE,SAAS;4BACrB,WAAW,EAAE,KAAK;yBACnB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAe,EAAE,IAAa;IAC7D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,iBAAiB,IAAI,CAAC,IAAI,6CAA6C,CAAC;QACjF,CAAC;QACD,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,iCAAiC,IAAI,IAAI,CAAC;QACnD,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,oBAAoB,QAAQ,yBAAyB,IAAI,CAAC,IAAI,IAAI,CAAC;QAC5E,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,KAAK,GAAG;QACZ,qBAAqB;QACrB,EAAE;QACF,6FAA6F;QAC7F,EAAE;QACF,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;KAC3D,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAC7B,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"skill-loader.js","sourceRoot":"","sources":["../../src/agent/skill-loader.ts"],"names":[],"mappings":"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"}