studiograph 1.3.48-next.21 → 1.3.48-next.210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (966) hide show
  1. package/README.md +26 -16
  2. package/dist/agent/agent-pool.d.ts +87 -3
  3. package/dist/agent/agent-pool.js +188 -15
  4. package/dist/agent/agent-pool.js.map +1 -1
  5. package/dist/agent/followups.d.ts +34 -0
  6. package/dist/agent/followups.js +52 -0
  7. package/dist/agent/followups.js.map +1 -0
  8. package/dist/agent/orchestrator.d.ts +101 -4
  9. package/dist/agent/orchestrator.js +464 -66
  10. package/dist/agent/orchestrator.js.map +1 -1
  11. package/dist/agent/prompts/entity-types-section.d.ts +34 -0
  12. package/dist/agent/prompts/entity-types-section.js +76 -0
  13. package/dist/agent/prompts/entity-types-section.js.map +1 -0
  14. package/dist/agent/prompts/system.md +112 -54
  15. package/dist/agent/skill-loader.d.ts +30 -17
  16. package/dist/agent/skill-loader.js +63 -30
  17. package/dist/agent/skill-loader.js.map +1 -1
  18. package/dist/agent/skills/artifact-canvas/skill.md +152 -0
  19. package/dist/agent/skills/entity-schema.md +75 -431
  20. package/dist/agent/skills/interview/entity-templates.md +38 -37
  21. package/dist/agent/skills/interview/question-domains.md +54 -49
  22. package/dist/agent/skills/interview/skill.md +84 -16
  23. package/dist/agent/skills/schema-rules.md +28 -28
  24. package/dist/agent/tools/artifact-tools.d.ts +124 -0
  25. package/dist/agent/tools/artifact-tools.js +207 -0
  26. package/dist/agent/tools/artifact-tools.js.map +1 -0
  27. package/dist/agent/tools/capture-tools.d.ts +31 -0
  28. package/dist/agent/tools/capture-tools.js +40 -0
  29. package/dist/agent/tools/capture-tools.js.map +1 -0
  30. package/dist/agent/tools/folder-tools.d.ts +47 -0
  31. package/dist/agent/tools/folder-tools.js +249 -0
  32. package/dist/agent/tools/folder-tools.js.map +1 -0
  33. package/dist/agent/tools/fs-tools.d.ts +6 -5
  34. package/dist/agent/tools/fs-tools.js +5 -5
  35. package/dist/agent/tools/fs-tools.js.map +1 -1
  36. package/dist/agent/tools/graph-tools.d.ts +48 -72
  37. package/dist/agent/tools/graph-tools.js +852 -329
  38. package/dist/agent/tools/graph-tools.js.map +1 -1
  39. package/dist/agent/tools/history-tools.d.ts +95 -0
  40. package/dist/agent/tools/history-tools.js +461 -0
  41. package/dist/agent/tools/history-tools.js.map +1 -0
  42. package/dist/agent/tools/load-skill.d.ts +6 -5
  43. package/dist/agent/tools/load-skill.js +3 -3
  44. package/dist/agent/tools/load-skill.js.map +1 -1
  45. package/dist/agent/tools/ops-tools.d.ts +5 -4
  46. package/dist/agent/tools/ops-tools.js +130 -236
  47. package/dist/agent/tools/ops-tools.js.map +1 -1
  48. package/dist/agent/tools/permission-tools.d.ts +87 -17
  49. package/dist/agent/tools/permission-tools.js +233 -43
  50. package/dist/agent/tools/permission-tools.js.map +1 -1
  51. package/dist/agent/tools/tool-loader.js +5 -4
  52. package/dist/agent/tools/tool-loader.js.map +1 -1
  53. package/dist/agent/tools/web-tools.js +58 -9
  54. package/dist/agent/tools/web-tools.js.map +1 -1
  55. package/dist/cli/commands/about.d.ts +1 -0
  56. package/dist/cli/commands/about.js +55 -3
  57. package/dist/cli/commands/about.js.map +1 -1
  58. package/dist/cli/commands/admin/audit-workspace.d.ts +23 -0
  59. package/dist/cli/commands/admin/audit-workspace.js +133 -0
  60. package/dist/cli/commands/admin/audit-workspace.js.map +1 -0
  61. package/dist/cli/commands/admin/audit.d.ts +21 -0
  62. package/dist/cli/commands/admin/audit.js +174 -0
  63. package/dist/cli/commands/admin/audit.js.map +1 -0
  64. package/dist/cli/commands/admin/backup.d.ts +54 -0
  65. package/dist/cli/commands/admin/backup.js +207 -0
  66. package/dist/cli/commands/admin/backup.js.map +1 -0
  67. package/dist/cli/commands/admin/folder.d.ts +11 -0
  68. package/dist/cli/commands/{collection.js → admin/folder.js} +33 -32
  69. package/dist/cli/commands/admin/folder.js.map +1 -0
  70. package/dist/cli/commands/admin/index.d.ts +16 -0
  71. package/dist/cli/commands/admin/index.js +46 -0
  72. package/dist/cli/commands/admin/index.js.map +1 -0
  73. package/dist/cli/commands/admin/migrate-assets.d.ts +53 -0
  74. package/dist/cli/commands/admin/migrate-assets.js +184 -0
  75. package/dist/cli/commands/admin/migrate-assets.js.map +1 -0
  76. package/dist/cli/commands/admin/migrate.d.ts +56 -0
  77. package/dist/cli/commands/admin/migrate.js +263 -0
  78. package/dist/cli/commands/admin/migrate.js.map +1 -0
  79. package/dist/cli/commands/admin/restore.d.ts +24 -0
  80. package/dist/cli/commands/admin/restore.js +228 -0
  81. package/dist/cli/commands/admin/restore.js.map +1 -0
  82. package/dist/cli/commands/admin/secrets.d.ts +23 -0
  83. package/dist/cli/commands/admin/secrets.js +256 -0
  84. package/dist/cli/commands/admin/secrets.js.map +1 -0
  85. package/dist/cli/commands/admin/settings.d.ts +28 -0
  86. package/dist/cli/commands/admin/settings.js +284 -0
  87. package/dist/cli/commands/admin/settings.js.map +1 -0
  88. package/dist/cli/commands/admin/token.d.ts +42 -0
  89. package/dist/cli/commands/admin/token.js +126 -0
  90. package/dist/cli/commands/admin/token.js.map +1 -0
  91. package/dist/cli/commands/admin/transfer-ownership.d.ts +15 -0
  92. package/dist/cli/commands/admin/transfer-ownership.js +106 -0
  93. package/dist/cli/commands/admin/transfer-ownership.js.map +1 -0
  94. package/dist/cli/commands/admin/user.d.ts +11 -0
  95. package/dist/cli/commands/admin/user.js +187 -0
  96. package/dist/cli/commands/admin/user.js.map +1 -0
  97. package/dist/cli/commands/clone.d.ts +25 -3
  98. package/dist/cli/commands/clone.js +142 -36
  99. package/dist/cli/commands/clone.js.map +1 -1
  100. package/dist/cli/commands/config.d.ts +23 -107
  101. package/dist/cli/commands/config.js +52 -260
  102. package/dist/cli/commands/config.js.map +1 -1
  103. package/dist/cli/commands/connector.d.ts +10 -13
  104. package/dist/cli/commands/connector.js +16 -58
  105. package/dist/cli/commands/connector.js.map +1 -1
  106. package/dist/cli/commands/deploy.js +215 -68
  107. package/dist/cli/commands/deploy.js.map +1 -1
  108. package/dist/cli/commands/index.js +5 -1
  109. package/dist/cli/commands/index.js.map +1 -1
  110. package/dist/cli/commands/init.js +10 -30
  111. package/dist/cli/commands/init.js.map +1 -1
  112. package/dist/cli/commands/mcp.js +54 -6
  113. package/dist/cli/commands/mcp.js.map +1 -1
  114. package/dist/cli/commands/r2.d.ts +3 -0
  115. package/dist/cli/commands/r2.js +223 -204
  116. package/dist/cli/commands/r2.js.map +1 -1
  117. package/dist/cli/commands/redeploy.js +65 -12
  118. package/dist/cli/commands/redeploy.js.map +1 -1
  119. package/dist/cli/commands/reset.d.ts +22 -6
  120. package/dist/cli/commands/reset.js +132 -34
  121. package/dist/cli/commands/reset.js.map +1 -1
  122. package/dist/cli/commands/serve.js +231 -26
  123. package/dist/cli/commands/serve.js.map +1 -1
  124. package/dist/cli/commands/sync.d.ts +1 -1
  125. package/dist/cli/commands/sync.js +237 -227
  126. package/dist/cli/commands/sync.js.map +1 -1
  127. package/dist/cli/crypto-bundle.d.ts +39 -0
  128. package/dist/cli/crypto-bundle.js +94 -0
  129. package/dist/cli/crypto-bundle.js.map +1 -0
  130. package/dist/cli/index.js +24 -26
  131. package/dist/cli/index.js.map +1 -1
  132. package/dist/cli/railway-pin.d.ts +68 -0
  133. package/dist/cli/railway-pin.js +96 -0
  134. package/dist/cli/railway-pin.js.map +1 -0
  135. package/dist/cli/railway-provisioning.d.ts +53 -0
  136. package/dist/cli/railway-provisioning.js +85 -0
  137. package/dist/cli/railway-provisioning.js.map +1 -0
  138. package/dist/cli/setup-wizard.d.ts +30 -49
  139. package/dist/cli/setup-wizard.js +39 -40
  140. package/dist/cli/setup-wizard.js.map +1 -1
  141. package/dist/core/accent-palette.d.ts +22 -0
  142. package/dist/core/accent-palette.js +47 -0
  143. package/dist/core/accent-palette.js.map +1 -0
  144. package/dist/core/artifact-asset-urls.d.ts +51 -0
  145. package/dist/core/artifact-asset-urls.js +79 -0
  146. package/dist/core/artifact-asset-urls.js.map +1 -0
  147. package/dist/core/artifact-bundle.d.ts +69 -0
  148. package/dist/core/artifact-bundle.js +305 -0
  149. package/dist/core/artifact-bundle.js.map +1 -0
  150. package/dist/core/artifact-escape.d.ts +5 -0
  151. package/dist/core/artifact-escape.js +26 -0
  152. package/dist/core/artifact-escape.js.map +1 -0
  153. package/dist/core/artifact-export.d.ts +17 -0
  154. package/dist/core/artifact-export.js +529 -0
  155. package/dist/core/artifact-export.js.map +1 -0
  156. package/dist/core/cell-anchor.d.ts +29 -0
  157. package/dist/core/cell-anchor.js +53 -0
  158. package/dist/core/cell-anchor.js.map +1 -0
  159. package/dist/core/comment-anchor.d.ts +41 -0
  160. package/dist/core/comment-anchor.js +147 -0
  161. package/dist/core/comment-anchor.js.map +1 -0
  162. package/dist/core/commit-messages.d.ts +57 -0
  163. package/dist/core/commit-messages.js +85 -0
  164. package/dist/core/commit-messages.js.map +1 -0
  165. package/dist/core/embeds.d.ts +96 -0
  166. package/dist/core/embeds.js +187 -0
  167. package/dist/core/embeds.js.map +1 -0
  168. package/dist/core/entity-body-templates.d.ts +21 -0
  169. package/dist/core/entity-body-templates.js +67 -0
  170. package/dist/core/entity-body-templates.js.map +1 -0
  171. package/dist/core/entity-types-catalog.d.ts +65 -0
  172. package/dist/core/entity-types-catalog.js +142 -0
  173. package/dist/core/entity-types-catalog.js.map +1 -0
  174. package/dist/core/field-library.d.ts +62 -0
  175. package/dist/core/field-library.js +129 -0
  176. package/dist/core/field-library.js.map +1 -0
  177. package/dist/core/folder-paths.d.ts +41 -0
  178. package/dist/core/folder-paths.js +95 -0
  179. package/dist/core/folder-paths.js.map +1 -0
  180. package/dist/core/folder-sidecar.d.ts +36 -0
  181. package/dist/core/folder-sidecar.js +91 -0
  182. package/dist/core/folder-sidecar.js.map +1 -0
  183. package/dist/core/format-registry.d.ts +170 -0
  184. package/dist/core/format-registry.js +412 -0
  185. package/dist/core/format-registry.js.map +1 -0
  186. package/dist/core/graph.d.ts +773 -14
  187. package/dist/core/graph.js +2269 -308
  188. package/dist/core/graph.js.map +1 -1
  189. package/dist/core/history-diff.d.ts +35 -0
  190. package/dist/core/history-diff.js +114 -0
  191. package/dist/core/history-diff.js.map +1 -0
  192. package/dist/core/refs.d.ts +41 -0
  193. package/dist/core/refs.js +80 -0
  194. package/dist/core/refs.js.map +1 -0
  195. package/dist/core/schema-registry.d.ts +66 -0
  196. package/dist/core/schema-registry.js +198 -37
  197. package/dist/core/schema-registry.js.map +1 -1
  198. package/dist/core/schemas/connector.d.ts +67 -0
  199. package/dist/core/schemas/connector.js +100 -0
  200. package/dist/core/schemas/connector.js.map +1 -0
  201. package/dist/core/schemas/workspace.d.ts +122 -0
  202. package/dist/core/schemas/workspace.js +211 -0
  203. package/dist/core/schemas/workspace.js.map +1 -0
  204. package/dist/core/secrets/SecretStore.d.ts +77 -0
  205. package/dist/core/secrets/SecretStore.js +13 -0
  206. package/dist/core/secrets/SecretStore.js.map +1 -0
  207. package/dist/core/secrets/SettingsResolver.d.ts +54 -0
  208. package/dist/core/secrets/SettingsResolver.js +80 -0
  209. package/dist/core/secrets/SettingsResolver.js.map +1 -0
  210. package/dist/core/secrets/SettingsStore.d.ts +30 -0
  211. package/dist/core/secrets/SettingsStore.js +9 -0
  212. package/dist/core/secrets/SettingsStore.js.map +1 -0
  213. package/dist/core/secrets/SqliteEncryptedStore.d.ts +90 -0
  214. package/dist/core/secrets/SqliteEncryptedStore.js +598 -0
  215. package/dist/core/secrets/SqliteEncryptedStore.js.map +1 -0
  216. package/dist/core/secrets/audit.d.ts +36 -0
  217. package/dist/core/secrets/audit.js +60 -0
  218. package/dist/core/secrets/audit.js.map +1 -0
  219. package/dist/core/secrets/auth-db-migration.d.ts +129 -0
  220. package/dist/core/secrets/auth-db-migration.js +653 -0
  221. package/dist/core/secrets/auth-db-migration.js.map +1 -0
  222. package/dist/core/secrets/bundle.d.ts +141 -0
  223. package/dist/core/secrets/bundle.js +435 -0
  224. package/dist/core/secrets/bundle.js.map +1 -0
  225. package/dist/core/secrets/dual-write.d.ts +81 -0
  226. package/dist/core/secrets/dual-write.js +247 -0
  227. package/dist/core/secrets/dual-write.js.map +1 -0
  228. package/dist/core/secrets/encryption.d.ts +44 -0
  229. package/dist/core/secrets/encryption.js +97 -0
  230. package/dist/core/secrets/encryption.js.map +1 -0
  231. package/dist/core/secrets/index.d.ts +49 -0
  232. package/dist/core/secrets/index.js +74 -0
  233. package/dist/core/secrets/index.js.map +1 -0
  234. package/dist/core/secrets/master-key.d.ts +38 -0
  235. package/dist/core/secrets/master-key.js +122 -0
  236. package/dist/core/secrets/master-key.js.map +1 -0
  237. package/dist/core/secrets/probes/anthropic.d.ts +98 -0
  238. package/dist/core/secrets/probes/anthropic.js +300 -0
  239. package/dist/core/secrets/probes/anthropic.js.map +1 -0
  240. package/dist/core/secrets/probes/brave.d.ts +9 -0
  241. package/dist/core/secrets/probes/brave.js +15 -0
  242. package/dist/core/secrets/probes/brave.js.map +1 -0
  243. package/dist/core/secrets/probes/r2.d.ts +15 -0
  244. package/dist/core/secrets/probes/r2.js +14 -0
  245. package/dist/core/secrets/probes/r2.js.map +1 -0
  246. package/dist/core/secrets/probes/tavily.d.ts +18 -0
  247. package/dist/core/secrets/probes/tavily.js +58 -0
  248. package/dist/core/secrets/probes/tavily.js.map +1 -0
  249. package/dist/core/secrets/probes/voyage.d.ts +13 -0
  250. package/dist/core/secrets/probes/voyage.js +52 -0
  251. package/dist/core/secrets/probes/voyage.js.map +1 -0
  252. package/dist/core/secrets/r2-structural-migration.d.ts +39 -0
  253. package/dist/core/secrets/r2-structural-migration.js +109 -0
  254. package/dist/core/secrets/r2-structural-migration.js.map +1 -0
  255. package/dist/core/secrets/read-flip.d.ts +59 -0
  256. package/dist/core/secrets/read-flip.js +87 -0
  257. package/dist/core/secrets/read-flip.js.map +1 -0
  258. package/dist/core/secrets/registry.d.ts +188 -0
  259. package/dist/core/secrets/registry.js +616 -0
  260. package/dist/core/secrets/registry.js.map +1 -0
  261. package/dist/core/types.d.ts +77 -483
  262. package/dist/core/types.js +25 -3
  263. package/dist/core/types.js.map +1 -1
  264. package/dist/core/user-config.d.ts +75 -12
  265. package/dist/core/user-config.js +155 -14
  266. package/dist/core/user-config.js.map +1 -1
  267. package/dist/core/validation.d.ts +786 -1373
  268. package/dist/core/validation.js +458 -147
  269. package/dist/core/validation.js.map +1 -1
  270. package/dist/core/workspace-manager.d.ts +87 -14
  271. package/dist/core/workspace-manager.js +222 -94
  272. package/dist/core/workspace-manager.js.map +1 -1
  273. package/dist/core/workspace.d.ts +19 -5
  274. package/dist/core/workspace.js +67 -39
  275. package/dist/core/workspace.js.map +1 -1
  276. package/dist/mcp/comment-virtual-entity.d.ts +36 -0
  277. package/dist/mcp/comment-virtual-entity.js +71 -0
  278. package/dist/mcp/comment-virtual-entity.js.map +1 -0
  279. package/dist/mcp/connector-manager.d.ts +72 -2
  280. package/dist/mcp/connector-manager.js +211 -32
  281. package/dist/mcp/connector-manager.js.map +1 -1
  282. package/dist/mcp/oauth-provider.d.ts +0 -5
  283. package/dist/mcp/oauth-provider.js +10 -22
  284. package/dist/mcp/oauth-provider.js.map +1 -1
  285. package/dist/mcp/oauth-registry.d.ts +46 -8
  286. package/dist/mcp/oauth-registry.js +52 -13
  287. package/dist/mcp/oauth-registry.js.map +1 -1
  288. package/dist/mcp/server-discovery.d.ts +73 -0
  289. package/dist/mcp/server-discovery.js +164 -0
  290. package/dist/mcp/server-discovery.js.map +1 -0
  291. package/dist/mcp/server.d.ts +24 -3
  292. package/dist/mcp/server.js +53 -10
  293. package/dist/mcp/server.js.map +1 -1
  294. package/dist/mcp/state-signer.d.ts +62 -0
  295. package/dist/mcp/state-signer.js +205 -0
  296. package/dist/mcp/state-signer.js.map +1 -0
  297. package/dist/mcp/stdio-proxy.d.ts +67 -0
  298. package/dist/mcp/stdio-proxy.js +149 -0
  299. package/dist/mcp/stdio-proxy.js.map +1 -0
  300. package/dist/mcp/tools.d.ts +65 -2
  301. package/dist/mcp/tools.js +1772 -124
  302. package/dist/mcp/tools.js.map +1 -1
  303. package/dist/server/__tests__/helpers/graph-api.d.ts +16 -0
  304. package/dist/server/__tests__/helpers/graph-api.js +16 -0
  305. package/dist/server/__tests__/helpers/graph-api.js.map +1 -0
  306. package/dist/server/artifact-asset-mint.d.ts +41 -0
  307. package/dist/server/artifact-asset-mint.js +59 -0
  308. package/dist/server/artifact-asset-mint.js.map +1 -0
  309. package/dist/server/asset-index-queue.d.ts +98 -0
  310. package/dist/server/asset-index-queue.js +193 -0
  311. package/dist/server/asset-index-queue.js.map +1 -0
  312. package/dist/server/body-write-coordinator.d.ts +161 -0
  313. package/dist/server/body-write-coordinator.js +182 -0
  314. package/dist/server/body-write-coordinator.js.map +1 -0
  315. package/dist/server/cloud-billing-flow.d.ts +32 -0
  316. package/dist/server/cloud-billing-flow.js +75 -0
  317. package/dist/server/cloud-billing-flow.js.map +1 -0
  318. package/dist/server/commit-audit.d.ts +26 -0
  319. package/dist/server/commit-audit.js +30 -0
  320. package/dist/server/commit-audit.js.map +1 -0
  321. package/dist/server/index.d.ts +29 -3
  322. package/dist/server/index.js +657 -269
  323. package/dist/server/index.js.map +1 -1
  324. package/dist/server/middleware/sanitize.d.ts +46 -0
  325. package/dist/server/middleware/sanitize.js +182 -0
  326. package/dist/server/middleware/sanitize.js.map +1 -0
  327. package/dist/server/routes/artifact-export-api.d.ts +11 -0
  328. package/dist/server/routes/artifact-export-api.js +159 -0
  329. package/dist/server/routes/artifact-export-api.js.map +1 -0
  330. package/dist/server/routes/asset-api.d.ts +76 -1
  331. package/dist/server/routes/asset-api.js +761 -61
  332. package/dist/server/routes/asset-api.js.map +1 -1
  333. package/dist/server/routes/audit-api.d.ts +24 -0
  334. package/dist/server/routes/audit-api.js +117 -0
  335. package/dist/server/routes/audit-api.js.map +1 -0
  336. package/dist/server/routes/auth-api.js +532 -63
  337. package/dist/server/routes/auth-api.js.map +1 -1
  338. package/dist/server/routes/capture-api.d.ts +10 -3
  339. package/dist/server/routes/capture-api.js +213 -25
  340. package/dist/server/routes/capture-api.js.map +1 -1
  341. package/dist/server/routes/chat-sessions-api.d.ts +13 -0
  342. package/dist/server/routes/chat-sessions-api.js +455 -0
  343. package/dist/server/routes/chat-sessions-api.js.map +1 -0
  344. package/dist/server/routes/chat.d.ts +35 -1
  345. package/dist/server/routes/chat.js +699 -54
  346. package/dist/server/routes/chat.js.map +1 -1
  347. package/dist/server/routes/comments-api.d.ts +15 -0
  348. package/dist/server/routes/comments-api.js +444 -0
  349. package/dist/server/routes/comments-api.js.map +1 -0
  350. package/dist/server/routes/config-api.d.ts +3 -2
  351. package/dist/server/routes/config-api.js +179 -49
  352. package/dist/server/routes/config-api.js.map +1 -1
  353. package/dist/server/routes/connectors-api.js +177 -42
  354. package/dist/server/routes/connectors-api.js.map +1 -1
  355. package/dist/server/routes/event-ingest-api.d.ts +15 -0
  356. package/dist/server/routes/{meeting-ingest-api.js → event-ingest-api.js} +35 -20
  357. package/dist/server/routes/event-ingest-api.js.map +1 -0
  358. package/dist/server/routes/field-library-api.d.ts +28 -0
  359. package/dist/server/routes/field-library-api.js +126 -0
  360. package/dist/server/routes/field-library-api.js.map +1 -0
  361. package/dist/server/routes/git-http.d.ts +2 -2
  362. package/dist/server/routes/git-http.js +86 -39
  363. package/dist/server/routes/git-http.js.map +1 -1
  364. package/dist/server/routes/graph-api-access.d.ts +57 -0
  365. package/dist/server/routes/graph-api-access.js +112 -0
  366. package/dist/server/routes/graph-api-access.js.map +1 -0
  367. package/dist/server/routes/graph-api.d.ts +1 -1
  368. package/dist/server/routes/graph-api.js +1455 -325
  369. package/dist/server/routes/graph-api.js.map +1 -1
  370. package/dist/server/routes/health.d.ts +18 -0
  371. package/dist/server/routes/health.js +74 -0
  372. package/dist/server/routes/health.js.map +1 -0
  373. package/dist/server/routes/import-batch.d.ts +24 -0
  374. package/dist/server/routes/import-batch.js +33 -0
  375. package/dist/server/routes/import-batch.js.map +1 -0
  376. package/dist/server/routes/insights-api.d.ts +9 -2
  377. package/dist/server/routes/insights-api.js +355 -61
  378. package/dist/server/routes/insights-api.js.map +1 -1
  379. package/dist/server/routes/mcp.d.ts +7 -3
  380. package/dist/server/routes/mcp.js +24 -8
  381. package/dist/server/routes/mcp.js.map +1 -1
  382. package/dist/server/routes/oauth-api.d.ts +67 -0
  383. package/dist/server/routes/oauth-api.js +421 -0
  384. package/dist/server/routes/oauth-api.js.map +1 -0
  385. package/dist/server/routes/permissions-api.d.ts +9 -2
  386. package/dist/server/routes/permissions-api.js +87 -31
  387. package/dist/server/routes/permissions-api.js.map +1 -1
  388. package/dist/server/routes/r2-api.d.ts +25 -0
  389. package/dist/server/routes/r2-api.js +276 -0
  390. package/dist/server/routes/r2-api.js.map +1 -0
  391. package/dist/server/routes/secrets-api.d.ts +36 -0
  392. package/dist/server/routes/secrets-api.js +308 -0
  393. package/dist/server/routes/secrets-api.js.map +1 -0
  394. package/dist/server/routes/settings-api.d.ts +29 -0
  395. package/dist/server/routes/settings-api.js +180 -0
  396. package/dist/server/routes/settings-api.js.map +1 -0
  397. package/dist/server/routes/share-api.d.ts +32 -0
  398. package/dist/server/routes/share-api.js +234 -0
  399. package/dist/server/routes/share-api.js.map +1 -0
  400. package/dist/server/routes/views-api.js +51 -0
  401. package/dist/server/routes/views-api.js.map +1 -1
  402. package/dist/server/routes/workspace-api.d.ts +2 -1
  403. package/dist/server/routes/workspace-api.js +142 -23
  404. package/dist/server/routes/workspace-api.js.map +1 -1
  405. package/dist/server/routes/ws.d.ts +3 -2
  406. package/dist/server/routes/ws.js +68 -17
  407. package/dist/server/routes/ws.js.map +1 -1
  408. package/dist/server/session-manager.d.ts +48 -5
  409. package/dist/server/session-manager.js +182 -14
  410. package/dist/server/session-manager.js.map +1 -1
  411. package/dist/server/ws-hub.d.ts +124 -37
  412. package/dist/server/ws-hub.js +0 -0
  413. package/dist/server/ws-hub.js.map +1 -1
  414. package/dist/server/yjs-manager.d.ts +278 -7
  415. package/dist/server/yjs-manager.js +830 -38
  416. package/dist/server/yjs-manager.js.map +1 -1
  417. package/dist/server/yjs-persistence.d.ts +165 -0
  418. package/dist/server/yjs-persistence.js +557 -0
  419. package/dist/server/yjs-persistence.js.map +1 -0
  420. package/dist/server/yjs-text-diff.d.ts +32 -0
  421. package/dist/server/yjs-text-diff.js +61 -0
  422. package/dist/server/yjs-text-diff.js.map +1 -0
  423. package/dist/services/access-control.d.ts +73 -0
  424. package/dist/services/access-control.js +165 -0
  425. package/dist/services/access-control.js.map +1 -0
  426. package/dist/services/artifact-asset-token.d.ts +69 -0
  427. package/dist/services/artifact-asset-token.js +94 -0
  428. package/dist/services/artifact-asset-token.js.map +1 -0
  429. package/dist/services/artifact-library-sources.d.ts +3 -0
  430. package/dist/services/artifact-library-sources.js +44 -0
  431. package/dist/services/artifact-library-sources.js.map +1 -0
  432. package/dist/services/artifact-render-export.d.ts +97 -0
  433. package/dist/services/artifact-render-export.js +467 -0
  434. package/dist/services/artifact-render-export.js.map +1 -0
  435. package/dist/services/asset-caption-service.d.ts +103 -0
  436. package/dist/services/asset-caption-service.js +186 -0
  437. package/dist/services/asset-caption-service.js.map +1 -0
  438. package/dist/services/asset-delete-authz.d.ts +31 -0
  439. package/dist/services/asset-delete-authz.js +61 -0
  440. package/dist/services/asset-delete-authz.js.map +1 -0
  441. package/dist/services/asset-finalize-service.d.ts +58 -0
  442. package/dist/services/asset-finalize-service.js +216 -0
  443. package/dist/services/asset-finalize-service.js.map +1 -0
  444. package/dist/services/asset-import-service.d.ts +111 -0
  445. package/dist/services/asset-import-service.js +394 -0
  446. package/dist/services/asset-import-service.js.map +1 -0
  447. package/dist/services/asset-index-sweep.d.ts +95 -0
  448. package/dist/services/asset-index-sweep.js +249 -0
  449. package/dist/services/asset-index-sweep.js.map +1 -0
  450. package/dist/services/asset-lifecycle-check.d.ts +22 -0
  451. package/dist/services/asset-lifecycle-check.js +80 -0
  452. package/dist/services/asset-lifecycle-check.js.map +1 -0
  453. package/dist/services/asset-listing.d.ts +72 -0
  454. package/dist/services/asset-listing.js +321 -0
  455. package/dist/services/asset-listing.js.map +1 -0
  456. package/dist/services/asset-presign-service.d.ts +68 -0
  457. package/dist/services/asset-presign-service.js +124 -0
  458. package/dist/services/asset-presign-service.js.map +1 -0
  459. package/dist/services/asset-sidecar-service.d.ts +28 -0
  460. package/dist/services/asset-sidecar-service.js +79 -0
  461. package/dist/services/asset-sidecar-service.js.map +1 -0
  462. package/dist/services/asset-upload-errors.d.ts +41 -0
  463. package/dist/services/asset-upload-errors.js +45 -0
  464. package/dist/services/asset-upload-errors.js.map +1 -0
  465. package/dist/services/asset-upload-service.d.ts +56 -0
  466. package/dist/services/asset-upload-service.js +200 -0
  467. package/dist/services/asset-upload-service.js.map +1 -0
  468. package/dist/services/asset-upload-token.d.ts +58 -0
  469. package/dist/services/asset-upload-token.js +75 -0
  470. package/dist/services/asset-upload-token.js.map +1 -0
  471. package/dist/services/assets/asset-index-service.d.ts +127 -0
  472. package/dist/services/assets/asset-index-service.js +227 -0
  473. package/dist/services/assets/asset-index-service.js.map +1 -0
  474. package/dist/services/assets/base.d.ts +128 -2
  475. package/dist/services/assets/base.js +98 -1
  476. package/dist/services/assets/base.js.map +1 -1
  477. package/dist/services/assets/index.d.ts +114 -1
  478. package/dist/services/assets/index.js +221 -0
  479. package/dist/services/assets/index.js.map +1 -1
  480. package/dist/services/assets/local.d.ts +16 -1
  481. package/dist/services/assets/local.js +110 -1
  482. package/dist/services/assets/local.js.map +1 -1
  483. package/dist/services/assets/r2-sync.d.ts +88 -0
  484. package/dist/services/assets/r2-sync.js +412 -0
  485. package/dist/services/assets/r2-sync.js.map +1 -0
  486. package/dist/services/assets/r2.d.ts +87 -1
  487. package/dist/services/assets/r2.js +203 -1
  488. package/dist/services/assets/r2.js.map +1 -1
  489. package/dist/services/auth-service.d.ts +312 -45
  490. package/dist/services/auth-service.js +1011 -195
  491. package/dist/services/auth-service.js.map +1 -1
  492. package/dist/services/chat-session-service.d.ts +188 -0
  493. package/dist/services/chat-session-service.js +512 -0
  494. package/dist/services/chat-session-service.js.map +1 -0
  495. package/dist/services/cloud-inference-billing.d.ts +64 -0
  496. package/dist/services/cloud-inference-billing.js +313 -0
  497. package/dist/services/cloud-inference-billing.js.map +1 -0
  498. package/dist/services/comment-service.d.ts +97 -0
  499. package/dist/services/comment-service.js +341 -0
  500. package/dist/services/comment-service.js.map +1 -0
  501. package/dist/services/comment-virtual-entity.d.ts +36 -0
  502. package/dist/services/comment-virtual-entity.js +71 -0
  503. package/dist/services/comment-virtual-entity.js.map +1 -0
  504. package/dist/services/convert-service.d.ts +64 -0
  505. package/dist/services/convert-service.js +68 -0
  506. package/dist/services/convert-service.js.map +1 -0
  507. package/dist/services/csv-service.d.ts +22 -17
  508. package/dist/services/csv-service.js +55 -92
  509. package/dist/services/csv-service.js.map +1 -1
  510. package/dist/services/entity-mutations.d.ts +213 -0
  511. package/dist/services/entity-mutations.js +380 -0
  512. package/dist/services/entity-mutations.js.map +1 -0
  513. package/dist/services/{meeting-processor.d.ts → event-processor.d.ts} +15 -8
  514. package/dist/services/{meeting-processor.js → event-processor.js} +124 -65
  515. package/dist/services/event-processor.js.map +1 -0
  516. package/dist/services/extract/docx.d.ts +1 -0
  517. package/dist/services/extract/docx.js +233 -0
  518. package/dist/services/extract/docx.js.map +1 -0
  519. package/dist/services/extract/index.d.ts +9 -0
  520. package/dist/services/extract/index.js +10 -0
  521. package/dist/services/extract/index.js.map +1 -0
  522. package/dist/services/extract/pdf.d.ts +13 -0
  523. package/dist/services/extract/pdf.js +69 -0
  524. package/dist/services/extract/pdf.js.map +1 -0
  525. package/dist/services/folder-creation.d.ts +33 -0
  526. package/dist/services/folder-creation.js +103 -0
  527. package/dist/services/folder-creation.js.map +1 -0
  528. package/dist/services/git.d.ts +58 -0
  529. package/dist/services/git.js +194 -55
  530. package/dist/services/git.js.map +1 -1
  531. package/dist/services/graph-maintenance.js +4 -4
  532. package/dist/services/graph-maintenance.js.map +1 -1
  533. package/dist/services/import-service.d.ts +51 -2
  534. package/dist/services/import-service.js +254 -107
  535. package/dist/services/import-service.js.map +1 -1
  536. package/dist/services/lint-service.js +10 -17
  537. package/dist/services/lint-service.js.map +1 -1
  538. package/dist/services/markdown.d.ts +12 -1
  539. package/dist/services/markdown.js +77 -9
  540. package/dist/services/markdown.js.map +1 -1
  541. package/dist/services/mention-detector.d.ts +23 -0
  542. package/dist/services/mention-detector.js +47 -0
  543. package/dist/services/mention-detector.js.map +1 -0
  544. package/dist/services/model-capabilities.d.ts +41 -0
  545. package/dist/services/model-capabilities.js +107 -0
  546. package/dist/services/model-capabilities.js.map +1 -0
  547. package/dist/services/notification-broadcast.d.ts +32 -0
  548. package/dist/services/notification-broadcast.js +38 -0
  549. package/dist/services/notification-broadcast.js.map +1 -0
  550. package/dist/services/notification-service.d.ts +41 -0
  551. package/dist/services/notification-service.js +100 -0
  552. package/dist/services/notification-service.js.map +1 -0
  553. package/dist/services/oauth-server-store.d.ts +147 -0
  554. package/dist/services/oauth-server-store.js +319 -0
  555. package/dist/services/oauth-server-store.js.map +1 -0
  556. package/dist/services/orphan-service.js +2 -2
  557. package/dist/services/orphan-service.js.map +1 -1
  558. package/dist/services/personal-folder.d.ts +40 -0
  559. package/dist/services/personal-folder.js +101 -0
  560. package/dist/services/personal-folder.js.map +1 -0
  561. package/dist/services/scratch-asset-promote.d.ts +57 -0
  562. package/dist/services/scratch-asset-promote.js +95 -0
  563. package/dist/services/scratch-asset-promote.js.map +1 -0
  564. package/dist/services/scratch-attachment-service.d.ts +196 -0
  565. package/dist/services/scratch-attachment-service.js +347 -0
  566. package/dist/services/scratch-attachment-service.js.map +1 -0
  567. package/dist/services/share-link-service.d.ts +57 -0
  568. package/dist/services/share-link-service.js +142 -0
  569. package/dist/services/share-link-service.js.map +1 -0
  570. package/dist/services/user-person-bridge.d.ts +136 -0
  571. package/dist/services/user-person-bridge.js +340 -0
  572. package/dist/services/user-person-bridge.js.map +1 -0
  573. package/dist/services/vector-service.d.ts +282 -5
  574. package/dist/services/vector-service.js +585 -29
  575. package/dist/services/vector-service.js.map +1 -1
  576. package/dist/services/workspace-access.d.ts +108 -0
  577. package/dist/services/workspace-access.js +149 -0
  578. package/dist/services/workspace-access.js.map +1 -0
  579. package/dist/services/workspace-assets-folder.d.ts +46 -0
  580. package/dist/services/workspace-assets-folder.js +75 -0
  581. package/dist/services/workspace-assets-folder.js.map +1 -0
  582. package/dist/utils/git.d.ts +17 -2
  583. package/dist/utils/git.js +23 -7
  584. package/dist/utils/git.js.map +1 -1
  585. package/dist/utils/log.d.ts +42 -0
  586. package/dist/utils/log.js +137 -0
  587. package/dist/utils/log.js.map +1 -0
  588. package/dist/utils/preflight.js +2 -2
  589. package/dist/utils/preflight.js.map +1 -1
  590. package/dist/utils/version-checker.d.ts +12 -19
  591. package/dist/utils/version-checker.js +14 -104
  592. package/dist/utils/version-checker.js.map +1 -1
  593. package/dist/web/_app/immutable/assets/0.Bs_z3Z86.css +2 -0
  594. package/dist/web/_app/immutable/assets/12.DlIf1mKh.css +1 -0
  595. package/dist/web/_app/immutable/assets/14.7d-Q37wc.css +1 -0
  596. package/dist/web/_app/immutable/assets/15.BwBFdc1D.css +1 -0
  597. package/dist/web/_app/immutable/assets/16.CmLrbzZp.css +1 -0
  598. package/dist/web/_app/immutable/assets/17.DcuK5ZVm.css +1 -0
  599. package/dist/web/_app/immutable/assets/2.DATnR31c.css +1 -0
  600. package/dist/web/_app/immutable/assets/3.Cz4H8n_O.css +1 -0
  601. package/dist/web/_app/immutable/assets/4.aDHteTDy.css +1 -0
  602. package/dist/web/_app/immutable/assets/6.CF1i5Bon.css +1 -0
  603. package/dist/web/_app/immutable/assets/ArtifactEntityView.C4ooklFD.css +1 -0
  604. package/dist/web/_app/immutable/assets/AssetLibraryPicker.BOFW0MvF.css +1 -0
  605. package/dist/web/_app/immutable/assets/BulkActionsBar.cmKvHzRK.css +1 -0
  606. package/dist/web/_app/immutable/assets/CalendarView.lBCvS3X5.css +1 -0
  607. package/dist/web/_app/immutable/assets/CodeMirrorEditor.D6hf2pNJ.css +1 -0
  608. package/dist/web/_app/immutable/assets/CopyField.DVGZtw4U.css +1 -0
  609. package/dist/web/_app/immutable/assets/FolderMembersPanel.kiYnDFHu.css +1 -0
  610. package/dist/web/_app/immutable/assets/FolderMutationDialogs.BMRF6Z3z.css +1 -0
  611. package/dist/web/_app/immutable/assets/FolderPicker.Cp46GHe2.css +1 -0
  612. package/dist/web/_app/immutable/assets/GalleryView.WBGxxUQc.css +1 -0
  613. package/dist/web/_app/immutable/assets/GraphView.BJtGL9py.css +1 -0
  614. package/dist/web/_app/immutable/assets/KanbanView.BOaI5KFL.css +1 -0
  615. package/dist/web/_app/immutable/assets/Link.vV0ne105.css +1 -0
  616. package/dist/web/_app/immutable/assets/Markdown.BZnsSOSf.css +1 -0
  617. package/dist/web/_app/immutable/assets/Rail.ilusFgD4.css +1 -0
  618. package/dist/web/_app/immutable/assets/SettingsDialog.D7-BO6S_.css +1 -0
  619. package/dist/web/_app/immutable/assets/Spinner.UBfl0pab.css +1 -0
  620. package/dist/web/_app/immutable/assets/StopFilledAlt.fNlDN65D.css +1 -0
  621. package/dist/web/_app/immutable/assets/TimelineView.xAZBJhHw.css +1 -0
  622. package/dist/web/_app/immutable/assets/WorkspaceView.C8ErUJAY.css +1 -0
  623. package/dist/web/_app/immutable/assets/button.BlLm4Dg1.css +1 -0
  624. package/dist/web/_app/immutable/assets/history-summary.LpmHXasl.css +1 -0
  625. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff +0 -0
  626. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2 +0 -0
  627. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff +0 -0
  628. package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2 +0 -0
  629. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2 +0 -0
  630. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff +0 -0
  631. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2 +0 -0
  632. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff +0 -0
  633. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.BNK2_mGO.woff2 +0 -0
  634. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.DpEwFAQM.woff +0 -0
  635. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2 +0 -0
  636. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff +0 -0
  637. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff +0 -0
  638. package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2 +0 -0
  639. package/dist/web/_app/immutable/assets/inline-list.cqga56xT.css +1 -0
  640. package/dist/web/_app/immutable/assets/list-columns.BgnafZ4K.css +1 -0
  641. package/dist/web/_app/immutable/assets/realtime.DDCWxn3B.css +1 -0
  642. package/dist/web/_app/immutable/assets/select.B90KUqR4.css +1 -0
  643. package/dist/web/_app/immutable/assets/sheet.RF9RBmml.css +1 -0
  644. package/dist/web/_app/immutable/chunks/22qYtvr82.js +1 -0
  645. package/dist/web/_app/immutable/chunks/3anKjXOb.js +1 -0
  646. package/dist/web/_app/immutable/chunks/6S9WOky52.js +1 -0
  647. package/dist/web/_app/immutable/chunks/7xJ91z7d.js +2 -0
  648. package/dist/web/_app/immutable/chunks/9K8VREGP.js +1 -0
  649. package/dist/web/_app/immutable/chunks/B-TGZnCt2.js +1 -0
  650. package/dist/web/_app/immutable/chunks/B-n5q6ku.js +1 -0
  651. package/dist/web/_app/immutable/chunks/B0p2fSEV2.js +1 -0
  652. package/dist/web/_app/immutable/chunks/B2oi87jG.js +2 -0
  653. package/dist/web/_app/immutable/chunks/B4DG5QOL.js +1 -0
  654. package/dist/web/_app/immutable/chunks/B6Lt-qaJ.js +1 -0
  655. package/dist/web/_app/immutable/chunks/B6qeIQZz.js +2 -0
  656. package/dist/web/_app/immutable/chunks/B9KfEsQw2.js +1 -0
  657. package/dist/web/_app/immutable/chunks/B9VRF5aH2.js +1 -0
  658. package/dist/web/_app/immutable/chunks/BCQQzpbj.js +1 -0
  659. package/dist/web/_app/immutable/chunks/BF0vIqH9.js +1 -0
  660. package/dist/web/_app/immutable/chunks/BFp1K70l.js +8 -0
  661. package/dist/web/_app/immutable/chunks/BFr7Funh.js +1 -0
  662. package/dist/web/_app/immutable/chunks/BFx32D20.js +2 -0
  663. package/dist/web/_app/immutable/chunks/BLs1h0Rh2.js +1 -0
  664. package/dist/web/_app/immutable/chunks/BPzV_xOS2.js +1 -0
  665. package/dist/web/_app/immutable/chunks/BRvMjAzW.js +2 -0
  666. package/dist/web/_app/immutable/chunks/BV-iCKqa.js +1 -0
  667. package/dist/web/_app/immutable/chunks/BZi3uKF4.js +1 -0
  668. package/dist/web/_app/immutable/chunks/B_PyL87x.js +2 -0
  669. package/dist/web/_app/immutable/chunks/BbfHGU9n2.js +1 -0
  670. package/dist/web/_app/immutable/chunks/Bbqu2-5G2.js +1 -0
  671. package/dist/web/_app/immutable/chunks/BdWZJpmv.js +2 -0
  672. package/dist/web/_app/immutable/chunks/BfnFtsiY.js +1 -0
  673. package/dist/web/_app/immutable/chunks/BlgjVmFM2.js +14 -0
  674. package/dist/web/_app/immutable/chunks/BmgXvmIG.js +5 -0
  675. package/dist/web/_app/immutable/chunks/BpCG9m962.js +1 -0
  676. package/dist/web/_app/immutable/chunks/BrveeylZ.js +1 -0
  677. package/dist/web/_app/immutable/chunks/BsW72fyR2.js +1 -0
  678. package/dist/web/_app/immutable/chunks/Bti_XKwx.js +2692 -0
  679. package/dist/web/_app/immutable/chunks/BuhW5Fr0.js +689 -0
  680. package/dist/web/_app/immutable/chunks/Bx74EEyn2.js +1 -0
  681. package/dist/web/_app/immutable/chunks/BxPN0T61.js +1 -0
  682. package/dist/web/_app/immutable/chunks/Bxk27YWG.js +1 -0
  683. package/dist/web/_app/immutable/chunks/Bz9lrgGs.js +1 -0
  684. package/dist/web/_app/immutable/chunks/BzaxZ6j12.js +1 -0
  685. package/dist/web/_app/immutable/chunks/C1B4xDs0.js +1 -0
  686. package/dist/web/_app/immutable/chunks/C1trcC8M.js +7 -0
  687. package/dist/web/_app/immutable/chunks/C3F_NMTk.js +3 -0
  688. package/dist/web/_app/immutable/chunks/C4PZmGUQ.js +2 -0
  689. package/dist/web/_app/immutable/chunks/C6wYiSz8.js +1 -0
  690. package/dist/web/_app/immutable/chunks/C70saxIl.js +1 -0
  691. package/dist/web/_app/immutable/chunks/C9tvkk7Y2.js +22 -0
  692. package/dist/web/_app/immutable/chunks/CE1XZ5DE.js +1 -0
  693. package/dist/web/_app/immutable/chunks/CEahbtnP.js +1 -0
  694. package/dist/web/_app/immutable/chunks/CGkd0a-c2.js +2 -0
  695. package/dist/web/_app/immutable/chunks/CIoNEHQ82.js +184 -0
  696. package/dist/web/_app/immutable/chunks/CK4z74w5.js +1 -0
  697. package/dist/web/_app/immutable/chunks/COo3HgCZ.js +1 -0
  698. package/dist/web/_app/immutable/chunks/CP8_U450.js +1 -0
  699. package/dist/web/_app/immutable/chunks/CQ1eQ93t2.js +6 -0
  700. package/dist/web/_app/immutable/chunks/CQyBDccA.js +1 -0
  701. package/dist/web/_app/immutable/chunks/CUFQMEBn2.js +1 -0
  702. package/dist/web/_app/immutable/chunks/CV5OSCJc.js +1 -0
  703. package/dist/web/_app/immutable/chunks/CYEYDNwO2.js +1 -0
  704. package/dist/web/_app/immutable/chunks/CZgFaimi2.js +83 -0
  705. package/dist/web/_app/immutable/chunks/CZqvCTCv.js +1 -0
  706. package/dist/web/_app/immutable/chunks/CcWaWbrI2.js +1 -0
  707. package/dist/web/_app/immutable/chunks/CdtzRVZK.js +1 -0
  708. package/dist/web/_app/immutable/chunks/CfYG72Hc.js +1 -0
  709. package/dist/web/_app/immutable/chunks/Cg-ND0cl.js +1 -0
  710. package/dist/web/_app/immutable/chunks/Ch1kmm3J2.js +1 -0
  711. package/dist/web/_app/immutable/chunks/CjiMLTwX2.js +1 -0
  712. package/dist/web/_app/immutable/chunks/CkoeSJ8K.js +6 -0
  713. package/dist/web/_app/immutable/chunks/Cp87MaaW.js +1 -0
  714. package/dist/web/_app/immutable/chunks/Cqm5wAin.js +1 -0
  715. package/dist/web/_app/immutable/chunks/Ct1uesdW.js +2 -0
  716. package/dist/web/_app/immutable/chunks/CuYPXpWU.js +1 -0
  717. package/dist/web/_app/immutable/chunks/Cuq8J2Td.js +1 -0
  718. package/dist/web/_app/immutable/chunks/CvSEodTA.js +1 -0
  719. package/dist/web/_app/immutable/chunks/CvqqrTrj.js +1 -0
  720. package/dist/web/_app/immutable/chunks/CzXdOgVl2.js +7 -0
  721. package/dist/web/_app/immutable/chunks/D0W7c6Sg.js +185 -0
  722. package/dist/web/_app/immutable/chunks/D0rBhnqB2.js +1 -0
  723. package/dist/web/_app/immutable/chunks/D1-GZSN1.js +1 -0
  724. package/dist/web/_app/immutable/chunks/D1BLcNJ7.js +1 -0
  725. package/dist/web/_app/immutable/chunks/D1yvtriI.js +1 -0
  726. package/dist/web/_app/immutable/chunks/D25NMRpl.js +1 -0
  727. package/dist/web/_app/immutable/chunks/D3F675fu2.js +2 -0
  728. package/dist/web/_app/immutable/chunks/D4UrtGC1.js +1 -0
  729. package/dist/web/_app/immutable/chunks/D8wZ2xul.js +4 -0
  730. package/dist/web/_app/immutable/chunks/DA3HEX3X.js +1 -0
  731. package/dist/web/_app/immutable/chunks/DE2TCESD2.js +1 -0
  732. package/dist/web/_app/immutable/chunks/DN-gIRdd2.js +1 -0
  733. package/dist/web/_app/immutable/chunks/DPUVu0T0.js +1 -0
  734. package/dist/web/_app/immutable/chunks/DPcejqKZ.js +1 -0
  735. package/dist/web/_app/immutable/chunks/DQMWa2t7.js +1 -0
  736. package/dist/web/_app/immutable/chunks/DRPMJ-3M.js +2 -0
  737. package/dist/web/_app/immutable/chunks/DRPnwQAm.js +1 -0
  738. package/dist/web/_app/immutable/chunks/DXmfl4Hq2.js +1 -0
  739. package/dist/web/_app/immutable/chunks/DXsFrDer2.js +1 -0
  740. package/dist/web/_app/immutable/chunks/DYc5KW3F.js +1 -0
  741. package/dist/web/_app/immutable/chunks/DcPrzUMJ.js +1 -0
  742. package/dist/web/_app/immutable/chunks/DdQVGKgM.js +1 -0
  743. package/dist/web/_app/immutable/chunks/DiFfW--R2.js +2 -0
  744. package/dist/web/_app/immutable/chunks/DjIqa1_y.js +2 -0
  745. package/dist/web/_app/immutable/chunks/Dl63IUnH2.js +224 -0
  746. package/dist/web/_app/immutable/chunks/DmFdD6zT.js +1 -0
  747. package/dist/web/_app/immutable/chunks/Dn3R8S-U.js +1 -0
  748. package/dist/web/_app/immutable/chunks/DpNr1GQ2.js +1 -0
  749. package/dist/web/_app/immutable/chunks/DsFEd8vL2.js +1 -0
  750. package/dist/web/_app/immutable/chunks/DuxziNnw.js +1 -0
  751. package/dist/web/_app/immutable/chunks/FuiJnZG0.js +1 -0
  752. package/dist/web/_app/immutable/chunks/Izkulod7.js +1 -0
  753. package/dist/web/_app/immutable/chunks/LYL8znYR2.js +23 -0
  754. package/dist/web/_app/immutable/chunks/ON7Gta0d.js +1 -0
  755. package/dist/web/_app/immutable/chunks/PhN6tXuJ2.js +1 -0
  756. package/dist/web/_app/immutable/chunks/PyLyCpuL.js +1 -0
  757. package/dist/web/_app/immutable/chunks/RG7IUVLn2.js +2 -0
  758. package/dist/web/_app/immutable/chunks/RK4gCWN0.js +2 -0
  759. package/dist/web/_app/immutable/chunks/SnzlL4ZV.js +1 -0
  760. package/dist/web/_app/immutable/chunks/XcWejFm_.js +5 -0
  761. package/dist/web/_app/immutable/chunks/Xkp5hSA1.js +1 -0
  762. package/dist/web/_app/immutable/chunks/al_nidE9.js +1 -0
  763. package/dist/web/_app/immutable/chunks/e50-izZO2.js +1 -0
  764. package/dist/web/_app/immutable/chunks/golz20La2.js +2 -0
  765. package/dist/web/_app/immutable/chunks/hG-QCarB.js +1 -0
  766. package/dist/web/_app/immutable/chunks/kNaey6uv.js +1 -0
  767. package/dist/web/_app/immutable/chunks/nXReuy-5.js +3 -0
  768. package/dist/web/_app/immutable/chunks/o61aZZFZ2.js +66 -0
  769. package/dist/web/_app/immutable/chunks/qwr5boV8.js +1 -0
  770. package/dist/web/_app/immutable/chunks/rjjyuGhb.js +1 -0
  771. package/dist/web/_app/immutable/chunks/uBgoVlsx.js +3 -0
  772. package/dist/web/_app/immutable/chunks/xY0c-UfG.js +3 -0
  773. package/dist/web/_app/immutable/chunks/xeNvx4Bl2.js +1 -0
  774. package/dist/web/_app/immutable/chunks/xihTtKlq.js +1 -0
  775. package/dist/web/_app/immutable/entry/app.dqA31fjy.js +2 -0
  776. package/dist/web/_app/immutable/entry/start.BB1XrAea.js +1 -0
  777. package/dist/web/_app/immutable/nodes/0.dALEQAnu.js +2 -0
  778. package/dist/web/_app/immutable/nodes/1.aFU32Ukj.js +1 -0
  779. package/dist/web/_app/immutable/nodes/10.C2wB-OnW.js +1 -0
  780. package/dist/web/_app/immutable/nodes/11.CI3a8Rj5.js +1 -0
  781. package/dist/web/_app/immutable/nodes/12.CsTvsKzB.js +1 -0
  782. package/dist/web/_app/immutable/nodes/13.CYrHXCA8.js +1 -0
  783. package/dist/web/_app/immutable/nodes/14.B31HrQ26.js +1 -0
  784. package/dist/web/_app/immutable/nodes/15.DxgnZ61h.js +1 -0
  785. package/dist/web/_app/immutable/nodes/16.DAP8cwVb.js +1 -0
  786. package/dist/web/_app/immutable/nodes/17.CmwXtCDY.js +77 -0
  787. package/dist/web/_app/immutable/nodes/2.BuGXEIlN.js +122 -0
  788. package/dist/web/_app/immutable/nodes/3.CmhZJWHE.js +6 -0
  789. package/dist/web/_app/immutable/nodes/4.BRfoPTm-.js +11 -0
  790. package/dist/web/_app/immutable/nodes/5.C7gPuZM_.js +1 -0
  791. package/dist/web/_app/immutable/nodes/6.qKODVbya.js +6 -0
  792. package/dist/web/_app/immutable/nodes/7.BZO37zAJ.js +1 -0
  793. package/dist/web/_app/immutable/nodes/8.xF_Dd1BO.js +1 -0
  794. package/dist/web/_app/immutable/nodes/9.Bow4UyKV.js +1 -0
  795. package/dist/web/_app/version.json +1 -1
  796. package/dist/web/favicon-16.png +0 -0
  797. package/dist/web/favicon-180.png +0 -0
  798. package/dist/web/favicon-32.png +0 -0
  799. package/dist/web/favicon-48.png +0 -0
  800. package/dist/web/favicon-512.png +0 -0
  801. package/dist/web/favicon.ico +0 -0
  802. package/dist/web/favicon.svg +8 -0
  803. package/dist/web/index.html +56 -21
  804. package/dist/web/studiograph-logomark.svg +29 -0
  805. package/package.json +35 -14
  806. package/dist/agent/skills/enrich-entities.md +0 -136
  807. package/dist/agent/skills/sync-configuration.md +0 -119
  808. package/dist/agent/skills/sync-setup.md +0 -82
  809. package/dist/agent/tools/message-tools.d.ts +0 -42
  810. package/dist/agent/tools/message-tools.js +0 -106
  811. package/dist/agent/tools/message-tools.js.map +0 -1
  812. package/dist/cli/commands/app.d.ts +0 -7
  813. package/dist/cli/commands/app.js +0 -268
  814. package/dist/cli/commands/app.js.map +0 -1
  815. package/dist/cli/commands/clear.d.ts +0 -5
  816. package/dist/cli/commands/clear.js +0 -36
  817. package/dist/cli/commands/clear.js.map +0 -1
  818. package/dist/cli/commands/collection.d.ts +0 -10
  819. package/dist/cli/commands/collection.js.map +0 -1
  820. package/dist/cli/commands/join.d.ts +0 -9
  821. package/dist/cli/commands/join.js +0 -255
  822. package/dist/cli/commands/join.js.map +0 -1
  823. package/dist/cli/commands/start.d.ts +0 -7
  824. package/dist/cli/commands/start.js +0 -584
  825. package/dist/cli/commands/start.js.map +0 -1
  826. package/dist/cli/commands/update.d.ts +0 -8
  827. package/dist/cli/commands/update.js +0 -155
  828. package/dist/cli/commands/update.js.map +0 -1
  829. package/dist/cli/commands/user.d.ts +0 -7
  830. package/dist/cli/commands/user.js +0 -175
  831. package/dist/cli/commands/user.js.map +0 -1
  832. package/dist/cli/scaffolding.d.ts +0 -12
  833. package/dist/cli/scaffolding.js +0 -397
  834. package/dist/cli/scaffolding.js.map +0 -1
  835. package/dist/integrations/registry.d.ts +0 -8
  836. package/dist/integrations/registry.js +0 -7
  837. package/dist/integrations/registry.js.map +0 -1
  838. package/dist/integrations/types.d.ts +0 -43
  839. package/dist/integrations/types.js +0 -5
  840. package/dist/integrations/types.js.map +0 -1
  841. package/dist/lib/lib/utils.d.ts +0 -2
  842. package/dist/lib/lib/utils.js +0 -6
  843. package/dist/lib/lib/utils.js.map +0 -1
  844. package/dist/server/chrome/chrome.css +0 -691
  845. package/dist/server/chrome/chrome.js +0 -374
  846. package/dist/server/commit-scheduler.d.ts +0 -39
  847. package/dist/server/commit-scheduler.js +0 -113
  848. package/dist/server/commit-scheduler.js.map +0 -1
  849. package/dist/server/plugin-loader.d.ts +0 -53
  850. package/dist/server/plugin-loader.js +0 -155
  851. package/dist/server/plugin-loader.js.map +0 -1
  852. package/dist/server/routes/meeting-ingest-api.d.ts +0 -14
  853. package/dist/server/routes/meeting-ingest-api.js.map +0 -1
  854. package/dist/server/routes/messages-api.d.ts +0 -15
  855. package/dist/server/routes/messages-api.js +0 -385
  856. package/dist/server/routes/messages-api.js.map +0 -1
  857. package/dist/services/batch-processor.d.ts +0 -49
  858. package/dist/services/batch-processor.js +0 -166
  859. package/dist/services/batch-processor.js.map +0 -1
  860. package/dist/services/briefing.d.ts +0 -26
  861. package/dist/services/briefing.js +0 -230
  862. package/dist/services/briefing.js.map +0 -1
  863. package/dist/services/heartbeat.d.ts +0 -28
  864. package/dist/services/heartbeat.js +0 -183
  865. package/dist/services/heartbeat.js.map +0 -1
  866. package/dist/services/image-import-service.d.ts +0 -24
  867. package/dist/services/image-import-service.js +0 -108
  868. package/dist/services/image-import-service.js.map +0 -1
  869. package/dist/services/insights.d.ts +0 -38
  870. package/dist/services/insights.js +0 -269
  871. package/dist/services/insights.js.map +0 -1
  872. package/dist/services/meeting-processor.js.map +0 -1
  873. package/dist/services/message-service.d.ts +0 -68
  874. package/dist/services/message-service.js +0 -220
  875. package/dist/services/message-service.js.map +0 -1
  876. package/dist/utils/workspace-config.d.ts +0 -8
  877. package/dist/utils/workspace-config.js +0 -22
  878. package/dist/utils/workspace-config.js.map +0 -1
  879. package/dist/web/_app/immutable/assets/0.uPSqtsC5.css +0 -1
  880. package/dist/web/_app/immutable/assets/11.2jzI3cZY.css +0 -1
  881. package/dist/web/_app/immutable/assets/12.CT4xL4K3.css +0 -1
  882. package/dist/web/_app/immutable/assets/13.BUrHkYry.css +0 -1
  883. package/dist/web/_app/immutable/assets/2.DpQWr6q6.css +0 -1
  884. package/dist/web/_app/immutable/assets/3.BxdqT7zi.css +0 -1
  885. package/dist/web/_app/immutable/assets/4.DdNqjd0T.css +0 -1
  886. package/dist/web/_app/immutable/assets/5.DFeGxLYf.css +0 -1
  887. package/dist/web/_app/immutable/assets/6.DXZr_rI_.css +0 -1
  888. package/dist/web/_app/immutable/assets/GraphView.D9ePpZez.css +0 -1
  889. package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +0 -1
  890. package/dist/web/_app/immutable/assets/ViewToolbar.BWE03S64.css +0 -1
  891. package/dist/web/_app/immutable/assets/WorkspaceView.CgGDi_Zb.css +0 -1
  892. package/dist/web/_app/immutable/assets/wikilinks.CzMBkUMB.css +0 -1
  893. package/dist/web/_app/immutable/chunks/-jG4Obyh.js +0 -4
  894. package/dist/web/_app/immutable/chunks/2nrc8f_O.js +0 -1
  895. package/dist/web/_app/immutable/chunks/7S2LGqoP.js +0 -2
  896. package/dist/web/_app/immutable/chunks/8Q3ZJIYu.js +0 -1
  897. package/dist/web/_app/immutable/chunks/B8ydT5xX.js +0 -2
  898. package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
  899. package/dist/web/_app/immutable/chunks/BEn6N5c2.js +0 -1
  900. package/dist/web/_app/immutable/chunks/BFNNbCAM.js +0 -1
  901. package/dist/web/_app/immutable/chunks/BFZZEUd5.js +0 -1
  902. package/dist/web/_app/immutable/chunks/BGk8kfOE.js +0 -2
  903. package/dist/web/_app/immutable/chunks/BIBCr278.js +0 -1
  904. package/dist/web/_app/immutable/chunks/BPCkkwqe.js +0 -1
  905. package/dist/web/_app/immutable/chunks/BhlvzGQx.js +0 -1
  906. package/dist/web/_app/immutable/chunks/BlMknQeF.js +0 -1
  907. package/dist/web/_app/immutable/chunks/BpjqrlCg.js +0 -1
  908. package/dist/web/_app/immutable/chunks/BrebtJNG.js +0 -18
  909. package/dist/web/_app/immutable/chunks/ByBZ7JIT.js +0 -1
  910. package/dist/web/_app/immutable/chunks/Bz0ZjVQE.js +0 -2
  911. package/dist/web/_app/immutable/chunks/BzJTZOK2.js +0 -1
  912. package/dist/web/_app/immutable/chunks/C0LVZhvn.js +0 -1
  913. package/dist/web/_app/immutable/chunks/C3uBrOS5.js +0 -1
  914. package/dist/web/_app/immutable/chunks/C8R1sDpW.js +0 -1
  915. package/dist/web/_app/immutable/chunks/CDRHrs0g.js +0 -1
  916. package/dist/web/_app/immutable/chunks/CN5_py1I.js +0 -1
  917. package/dist/web/_app/immutable/chunks/CPne482a.js +0 -1
  918. package/dist/web/_app/immutable/chunks/CSVbGg_b.js +0 -5
  919. package/dist/web/_app/immutable/chunks/CWyU-seV.js +0 -1
  920. package/dist/web/_app/immutable/chunks/CX_61fY8.js +0 -5
  921. package/dist/web/_app/immutable/chunks/CYrVHOHA.js +0 -1
  922. package/dist/web/_app/immutable/chunks/ChsiIm-E.js +0 -1
  923. package/dist/web/_app/immutable/chunks/CojKppbh.js +0 -1
  924. package/dist/web/_app/immutable/chunks/CqkleIqs.js +0 -1
  925. package/dist/web/_app/immutable/chunks/CtYLtD7K.js +0 -1
  926. package/dist/web/_app/immutable/chunks/D-HDy5qS.js +0 -1
  927. package/dist/web/_app/immutable/chunks/D5aIYSkd.js +0 -1
  928. package/dist/web/_app/immutable/chunks/DBBXARVf.js +0 -1
  929. package/dist/web/_app/immutable/chunks/DFYOFE3o.js +0 -1
  930. package/dist/web/_app/immutable/chunks/DKaafS50.js +0 -1
  931. package/dist/web/_app/immutable/chunks/DUMOo1Pn.js +0 -1
  932. package/dist/web/_app/immutable/chunks/DWX9f6AF.js +0 -1
  933. package/dist/web/_app/immutable/chunks/DY8-EONP.js +0 -1
  934. package/dist/web/_app/immutable/chunks/DkoHPElM.js +0 -1
  935. package/dist/web/_app/immutable/chunks/DnL9f0lc.js +0 -7
  936. package/dist/web/_app/immutable/chunks/DsnmJJEf.js +0 -1
  937. package/dist/web/_app/immutable/chunks/DujahU3W.js +0 -1
  938. package/dist/web/_app/immutable/chunks/FBn-ES5k.js +0 -1
  939. package/dist/web/_app/immutable/chunks/HQpwSOb3.js +0 -1
  940. package/dist/web/_app/immutable/chunks/KyjzlWRN.js +0 -2
  941. package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +0 -1
  942. package/dist/web/_app/immutable/chunks/UwYfmrPx.js +0 -2
  943. package/dist/web/_app/immutable/chunks/W25ZVI8L.js +0 -2
  944. package/dist/web/_app/immutable/chunks/WSUKABI_.js +0 -1
  945. package/dist/web/_app/immutable/chunks/XjsuEnNE.js +0 -5
  946. package/dist/web/_app/immutable/chunks/ZD6ARAtb.js +0 -1
  947. package/dist/web/_app/immutable/chunks/pBTf4stg.js +0 -2
  948. package/dist/web/_app/immutable/chunks/rGIarcnp.js +0 -1
  949. package/dist/web/_app/immutable/chunks/vxEtkL8z.js +0 -1
  950. package/dist/web/_app/immutable/chunks/wDIGUaoU.js +0 -3
  951. package/dist/web/_app/immutable/entry/app.ZHiTM8WS.js +0 -2
  952. package/dist/web/_app/immutable/entry/start.C9-FfAVc.js +0 -1
  953. package/dist/web/_app/immutable/nodes/0.D92Orz8k.js +0 -2
  954. package/dist/web/_app/immutable/nodes/1.BMdyglM_.js +0 -1
  955. package/dist/web/_app/immutable/nodes/10.BilVDHSL.js +0 -1
  956. package/dist/web/_app/immutable/nodes/11.CS9E0Hic.js +0 -1
  957. package/dist/web/_app/immutable/nodes/12.D3BOxYzG.js +0 -1
  958. package/dist/web/_app/immutable/nodes/13.CClMKYtN.js +0 -1
  959. package/dist/web/_app/immutable/nodes/2.C8KKElPL.js +0 -267
  960. package/dist/web/_app/immutable/nodes/3.C5n5uiWU.js +0 -5
  961. package/dist/web/_app/immutable/nodes/4.DcGVvgiL.js +0 -11
  962. package/dist/web/_app/immutable/nodes/5.DxIjnFQO.js +0 -4
  963. package/dist/web/_app/immutable/nodes/6.lkh6kKLj.js +0 -1
  964. package/dist/web/_app/immutable/nodes/7.Bg7SbfhA.js +0 -1
  965. package/dist/web/_app/immutable/nodes/8.DcXWCNBE.js +0 -1
  966. package/dist/web/_app/immutable/nodes/9.Cefi8Jfm.js +0 -1
@@ -10,7 +10,7 @@ When the user gives a conversational answer, extract structured entities. These
10
10
 
11
11
  ## General Rules
12
12
 
13
- 1. **Use kebab-case for entity IDs** — lowercase, hyphens, no special characters: `christian-schmidt`, `cooper-hewitt`
13
+ 1. **Use kebab-case for entity IDs** — lowercase, hyphens, no special characters: `alex-morgan`, `modern-museum`
14
14
  2. **Always set wikilinks** between related entities as you create them
15
15
  3. **Prefer the user's exact words** for names and descriptions — don't paraphrase or formalize
16
16
  4. **Never wrap content in quotes** — the `content` parameter is raw markdown, not a JSON string. Do not add leading or trailing `"` characters.
@@ -19,34 +19,34 @@ When the user gives a conversational answer, extract structured entities. These
19
19
 
20
20
  ## People from Team Descriptions
21
21
 
22
- **User says:** "My team is myself, Sumin who's my business partner in New York, Kenton our Director of Creative Technology also in New York, Rebecca who handles operations from South Carolina, and Annabel who's a mid-level designer here in Seattle with me."
22
+ **User says:** "My team is myself, Jordan who's my business partner in New York, Sam our Director of Creative Technology also in New York, Casey who handles operations from South Carolina, and Taylor who's a mid-level designer here in Seattle with me."
23
23
 
24
24
  **Extract 5 person entities:**
25
25
 
26
26
  ```yaml
27
- # christian-schmidt.md
27
+ # alex-morgan.md
28
28
  entity_type: person
29
- name: Christian Marc Schmidt
29
+ name: Alex Morgan
30
30
  role: Founder & CEO
31
31
  status: current
32
32
  location: Seattle
33
- organization: "[[schema-design]]"
33
+ organization: "[[acme-studio]]"
34
34
 
35
- # sumin-chou.md
35
+ # jordan-lee.md
36
36
  entity_type: person
37
- name: Sumin Chou
37
+ name: Jordan Lee
38
38
  role: Business Partner
39
39
  status: current
40
40
  location: New York
41
- organization: "[[schema-design]]"
41
+ organization: "[[acme-studio]]"
42
42
 
43
- # kenton-powell.md
43
+ # sam-reyes.md
44
44
  entity_type: person
45
- name: Kenton Powell
45
+ name: Sam Reyes
46
46
  role: Director of Creative Technology
47
47
  status: current
48
48
  location: New York
49
- organization: "[[schema-design]]"
49
+ organization: "[[acme-studio]]"
50
50
  ```
51
51
 
52
52
  **Key patterns:**
@@ -56,30 +56,30 @@ organization: "[[schema-design]]"
56
56
 
57
57
  ## Projects from Workstream Lists
58
58
 
59
- **User says:** "We're launching the first phase of our Cooper Hewitt collections website, working with Ridge AI on their dashboard UI, and about to start a new engagement with the Center for Civic Future on an AI knowledge hub."
59
+ **User says:** "We're launching the first phase of our Modern Museum collections website, working with Apex Systems on their dashboard UI, and about to start a new engagement with the Civic Initiative on an AI knowledge hub."
60
60
 
61
61
  **Extract 3 project entities + ensure client orgs exist:**
62
62
 
63
63
  ```yaml
64
- # cooper-hewitt-collections.md
64
+ # modern-museum-collections.md
65
65
  entity_type: project
66
- name: Cooper Hewitt Collections Website
66
+ name: Modern Museum Collections Website
67
67
  category: Client Work
68
- client: "[[cooper-hewitt]]"
68
+ client: "[[modern-museum]]"
69
69
  status: active
70
70
 
71
- # ridge-ai-dashboard.md
71
+ # apex-systems-dashboard.md
72
72
  entity_type: project
73
- name: Ridge AI Dashboard UI
73
+ name: Apex Systems Dashboard UI
74
74
  category: Client Work
75
- client: "[[ridge-ai]]"
75
+ client: "[[apex-systems]]"
76
76
  status: active
77
77
 
78
- # ccf-knowledge-hub.md
78
+ # civic-knowledge-hub.md
79
79
  entity_type: project
80
- name: CCF AI Knowledge Hub
80
+ name: Civic AI Knowledge Hub
81
81
  category: Client Work
82
- client: "[[center-for-civic-future]]"
82
+ client: "[[civic-initiative]]"
83
83
  status: active
84
84
  ```
85
85
 
@@ -90,30 +90,30 @@ status: active
90
90
 
91
91
  ## Organizations from Client Mentions
92
92
 
93
- **User says:** "Our clients include Cooper Hewitt, Ridge AI — which was co-founded by Jeffrey Heer and Ellie Fields — and Kite Pharma."
93
+ **User says:** "Our clients include Modern Museum, Apex Systems — which was co-founded by Pat Rivers and Robin Shaw — and Biomed Partners."
94
94
 
95
95
  **Extract 3 organization entities + 2 person entities for named contacts:**
96
96
 
97
97
  ```yaml
98
- # cooper-hewitt.md
98
+ # modern-museum.md
99
99
  entity_type: organization
100
- name: Cooper Hewitt, Smithsonian Design Museum
100
+ name: Modern Museum of Design
101
101
  category: client
102
102
  status: active
103
103
  industry: Museums & Cultural Institutions
104
104
 
105
- # ridge-ai.md
105
+ # apex-systems.md
106
106
  entity_type: organization
107
- name: Ridge AI
107
+ name: Apex Systems
108
108
  category: client
109
109
  status: active
110
110
  industry: AI / Enterprise Software
111
111
 
112
- # jeffrey-heer.md
112
+ # pat-rivers.md
113
113
  entity_type: person
114
- name: Jeffrey Heer
114
+ name: Pat Rivers
115
115
  role: Co-founder
116
- organization: "[[ridge-ai]]"
116
+ organization: "[[apex-systems]]"
117
117
  status: client
118
118
  ```
119
119
 
@@ -124,15 +124,16 @@ status: client
124
124
 
125
125
  ## Processes from Workflow Descriptions
126
126
 
127
- **User says:** "We have our Monday team meeting, a pipeline meeting Monday with Sumin and Rebecca, mid-week pipeline check-in Wednesday, and resourcing meeting Friday."
127
+ **User says:** "We have our Monday team meeting, a pipeline meeting Monday with Jordan and Casey, mid-week pipeline check-in Wednesday, and resourcing meeting Friday."
128
128
 
129
- **Extract 1 process entity with structured body:**
129
+ **Extract 1 note (tagged `Process`) with structured body:**
130
130
 
131
131
  ```yaml
132
132
  # weekly-cadence.md
133
- entity_type: process
133
+ entity_type: note
134
134
  name: Weekly Team Cadence
135
- owner: "[[christian-schmidt]]"
135
+ tags: [Process]
136
+ owner: "[[alex-morgan]]"
136
137
  ```
137
138
 
138
139
  Body:
@@ -142,15 +143,15 @@ Weekly rhythm of standing meetings.
142
143
 
143
144
  ## Steps
144
145
  - **Monday — Team Meeting** (full team): Align priorities, discuss deadlines and presentations
145
- - **Monday — Pipeline Meeting** ([[christian-schmidt]], [[sumin-chou]], [[rebecca-ojala]]): Review new business pipeline, discuss follow-ups
146
+ - **Monday — Pipeline Meeting** ([[alex-morgan]], [[jordan-lee]], [[casey-brooks]]): Review new business pipeline, discuss follow-ups
146
147
  - **Wednesday — Pipeline Check-in**: Mid-week pipeline status
147
148
  - **Friday — Resourcing Meeting**: Plan next week's allocation, ensure billability
148
149
  ```
149
150
 
150
151
  **Key patterns:**
151
- - Use wikilinks to people in the process body
152
+ - Use wikilinks to people in the note body
152
153
  - Capture the cadence, not just the meetings — the pattern of how work flows
153
- - One process entity can capture multiple related meetings if they form a weekly rhythm
154
+ - One note can capture multiple related meetings if they form a weekly rhythm
154
155
 
155
156
  ## Website Content Extraction
156
157
 
@@ -183,7 +184,7 @@ When the user provides a website URL, fetch it and extract:
183
184
  - "We work with some museums" → Don't create entities. Ask: "Which museums specifically?"
184
185
 
185
186
  **When names are incomplete:**
186
- - "My partner Sumin" → Create with what you have, follow up: "What's Sumin's last name and role?"
187
+ - "My partner Jordan" → Create with what you have, follow up: "What's Jordan's last name and role?"
187
188
 
188
189
  **When relationships are unclear:**
189
190
  - "We're talking to a pharma company" → Don't create a deal yet. Ask: "Which company? Is this an active deal or early conversation?"
@@ -8,7 +8,7 @@ loading: on-demand
8
8
 
9
9
  Work through these topics in order. Ask one question at a time. Create entries immediately from each answer. Adapt phrasing if website context or prior answers already covered the topic.
10
10
 
11
- **Important:** Route entries to the correct collection (see skill.md Collection Structure). Create new collections as you reach the relevant topics. Never set optional fields to empty strings — omit them entirely if unknown.
11
+ **Important:** Route entries to the correct folder (see skill.md Folder Structure). Create new folders as you reach the relevant topics. Never set optional fields to empty strings — omit them entirely if unknown.
12
12
 
13
13
  ---
14
14
 
@@ -37,17 +37,17 @@ If provided:
37
37
 
38
38
  **With website context:** "I see from your site that [description]. Is that accurate? What would you add or change?"
39
39
 
40
- **Collection:** Create the `{org-name}` collection (function graph type) first. This is the org's home collection.
40
+ **Folder:** Create the `{org-name}` folder (function graph type) first. This is the org's home folder.
41
41
 
42
- **Creates:** `organization` entry in the org collection with name, category, status, industry, website fields. This is the anchor entry — most other entries will link back to it. The body should include a substantive overview, philosophy/mission, and team roster.
42
+ **Creates:** `organization` entry in the org folder with name, category, status, industry, website fields. This is the anchor entry — most other entries will link back to it. The body should include a substantive overview, philosophy/mission, and team roster.
43
43
 
44
44
  ```yaml
45
45
  entity_type: organization
46
- entity_id: schema-design
47
- name: Schema Design
46
+ entity_id: acme-studio
47
+ name: Acme Studio
48
48
  status: active
49
49
  industry: Design & Technology
50
- website: https://schemadesign.com
50
+ website: https://example.com
51
51
  ```
52
52
 
53
53
  **Sufficiently covered when:** Organization entry exists with name, a rich markdown body (overview, philosophy, services), and at least industry set.
@@ -64,18 +64,18 @@ website: https://schemadesign.com
64
64
 
65
65
  **With website context:** "I see [names] on your team page. Are they all current? What are their roles?"
66
66
 
67
- **Collection:** `{org-name}` (same as the org entry — team members live alongside the org).
67
+ **Folder:** `{org-name}` (same as the org entry — team members live alongside the org).
68
68
 
69
69
  **Creates:** `person` entries linked to the organization via wikilinks. Each person entry should have a substantive body — not just "Role at Org, based in Location." Include what they do, what they're responsible for, who they work with. If the user only gave name + title, that's OK for now but the body should note what's known and flag gaps.
70
70
 
71
71
  ```yaml
72
72
  entity_type: person
73
- entity_id: sumin-chou
74
- name: Sumin Chou
73
+ entity_id: alex-morgan
74
+ name: Alex Morgan
75
75
  role: Business Partner
76
76
  status: current
77
77
  location: New York
78
- organization: "[[schema-design]]"
78
+ organization: "[[acme-studio]]"
79
79
  ```
80
80
 
81
81
  **Sufficiently covered when:** At least 2 person entries exist with roles, organization wikilinks, and meaningful body content.
@@ -92,21 +92,21 @@ organization: "[[schema-design]]"
92
92
 
93
93
  **With website context:** "Your portfolio mentions [clients]. Are those current? Anyone else?"
94
94
 
95
- **Collection:** Create the `clients` collection (function graph type) when you reach this topic.
95
+ **Folder:** Create the `clients` folder (function graph type) when you reach this topic.
96
96
 
97
- **Creates:** `organization` entries (category: client) in the `clients` collection, and optionally `person` entries for key contacts.
97
+ **Creates:** `organization` entries (category: client) in the `clients` folder, and optionally `person` entries for key contacts.
98
98
 
99
99
  ```yaml
100
- # In clients collection:
100
+ # In clients folder:
101
101
  entity_type: organization
102
- entity_id: cooper-hewitt
103
- name: Cooper Hewitt, Smithsonian Design Museum
102
+ entity_id: modern-museum
103
+ name: Modern Museum of Design
104
104
  category: client
105
105
  status: active
106
106
  industry: Museums & Cultural Institutions
107
107
  ```
108
108
 
109
- **Sufficiently covered when:** At least 1 client organization exists in the `clients` collection.
109
+ **Sufficiently covered when:** At least 1 client organization exists in the `clients` folder.
110
110
 
111
111
  ---
112
112
 
@@ -120,18 +120,18 @@ industry: Museums & Cultural Institutions
120
120
 
121
121
  **With website context:** "I see projects like [names] on your site. Which of these are current?"
122
122
 
123
- **Collection:** Create the `projects` collection (function graph type) when you reach this topic.
123
+ **Folder:** Create the `projects` folder (function graph type) when you reach this topic.
124
124
 
125
- **Creates:** `project` entries in the `projects` collection, linked to client organizations in `clients` and team members in the org collection.
125
+ **Creates:** `project` entries in the `projects` folder, linked to client organizations in `clients` and team members in the org folder.
126
126
 
127
127
  ```yaml
128
- # In projects collection:
128
+ # In projects folder:
129
129
  entity_type: project
130
- entity_id: cooper-hewitt-collections
131
- name: Cooper Hewitt Collections Website
130
+ entity_id: modern-museum-collections
131
+ name: Modern Museum Collections Website
132
132
  category: Client Work
133
133
  project_type: Design
134
- client: "[[cooper-hewitt]]"
134
+ client: "[[modern-museum]]"
135
135
  status: active
136
136
  ```
137
137
 
@@ -147,23 +147,27 @@ status: active
147
147
  - "What stage are they at — early conversation, proposal, negotiation?"
148
148
  - "What's the expected timeline?"
149
149
 
150
- **Collection:** Create the `new-business` collection (function graph type) when you reach this topic. Prospect organizations also go here.
150
+ **Folder:** Create the `new-business` folder (function graph type) when you reach this topic. Prospect organizations also go here.
151
151
 
152
- **Creates:** `deal` entries and prospect `organization` entries in the `new-business` collection.
152
+ **Creates:** prospect `organization` entries (category: prospect) and/or `note` entries describing individual deals, both in the `new-business` folder. (The `deal` type isn't agent-creatable in the launch set — capture the stage/status/value/timeline as fields in the prospect organization entry or as a note linked to it.)
153
153
 
154
154
  ```yaml
155
- # In new-business collection:
156
- entity_type: deal
157
- entity_id: ccf-knowledge-hub
158
- name: CCF Knowledge Hub Engagement
159
- client: "[[center-for-civic-future]]"
155
+ # In new-business folder:
156
+ entity_type: note
157
+ entity_id: civic-knowledge-hub
158
+ name: Civic Knowledge Hub Engagement
159
+ tags: [Pipeline, Deal]
160
+ date: 2026-04-20
161
+ client: "[[civic-initiative]]"
160
162
  stage: proposal
161
163
  status: active
164
+ ---
165
+ Engagement overview, value, decision-makers, and next steps.
162
166
  ```
163
167
 
164
168
  For prospect organizations, include why they're a target, what the angle would be, and any existing connections. Don't just repeat their tagline.
165
169
 
166
- **Sufficiently covered when:** At least 1 deal or prospect entry exists, or user confirms there's nothing in the pipeline.
170
+ **Sufficiently covered when:** At least 1 prospect organization or pipeline note exists, or user confirms there's nothing in the pipeline.
167
171
 
168
172
  ---
169
173
 
@@ -175,20 +179,21 @@ For prospect organizations, include why they're a target, what the angle would b
175
179
  - "Walk me through your typical week."
176
180
  - "How do decisions get made — is there a process, or is it more ad hoc?"
177
181
 
178
- **Creates:** `process` entities describing recurring workflows.
182
+ **Creates:** `note` entries (tagged `Process`) or `document` entries describing recurring workflows. (The `process` type isn't agent-creatable in the launch set — put the steps in the body of a note/document.)
179
183
 
180
184
  ```yaml
181
- entity_type: process
185
+ entity_type: note
182
186
  entity_id: weekly-cadence
183
187
  name: Weekly Team Cadence
184
- owner: "[[christian-schmidt]]"
188
+ tags: [Process]
189
+ owner: "[[team-lead]]"
185
190
  ---
186
191
  ## Overview
187
192
  Weekly rhythm of meetings and check-ins.
188
193
 
189
194
  ## Steps
190
195
  - Monday: Team meeting (full team) — align priorities, discuss deadlines
191
- - Monday: Pipeline meeting (Christian, Sumin, Rebecca) — review new business
196
+ - Monday: Pipeline meeting (leads) — review new business
192
197
  - Wednesday: Mid-week pipeline check-in
193
198
  - Friday: Resourcing meeting — plan next week, ensure billability
194
199
 
@@ -197,7 +202,7 @@ Weekly rhythm of meetings and check-ins.
197
202
  - Use async updates for status that doesn't need discussion
198
203
  ```
199
204
 
200
- **Sufficiently covered when:** At least 1 process entity exists.
205
+ **Sufficiently covered when:** At least 1 process note or document exists.
201
206
 
202
207
  ---
203
208
 
@@ -246,10 +251,10 @@ tags: [Tool, Reference]
246
251
  - "What sets you apart from others in your space?"
247
252
  - "Any emerging areas you're moving into?"
248
253
 
249
- **Creates:** `practice-area` entities.
254
+ **Creates:** `note` entries describing each practice area, tagged `Core Capability`. (The `practice-area` type isn't agent-creatable in the launch set — use tagged notes.)
250
255
 
251
256
  ```yaml
252
- entity_type: practice-area
257
+ entity_type: note
253
258
  entity_id: data-visualization
254
259
  name: Data Visualization
255
260
  tags: [Core Capability]
@@ -257,7 +262,7 @@ tags: [Core Capability]
257
262
  Core focus of the firm since founding. Creating interactive, designed encounters with data — not just static charts but full data experiences for museums, enterprises, and public platforms.
258
263
  ```
259
264
 
260
- **Sufficiently covered when:** At least 1 practice-area entity exists.
265
+ **Sufficiently covered when:** At least 1 capability note exists.
261
266
 
262
267
  ---
263
268
 
@@ -301,10 +306,10 @@ tags: [Goals, Strategy]
301
306
  - "What does good writing sound like for your firm?"
302
307
  - "Anything that makes you cringe in AI-generated content?"
303
308
 
304
- **Creates:** `guideline` entities.
309
+ **Creates:** `note` or `document` entries for general standards, and `skill` entries for repeatable patterns the agent should follow when doing specific jobs (proposal writing, meeting summaries, email style, etc.). See "Listening for Skill-Worthy Patterns" in the parent skill.md for when to offer a skill. (The `guideline` type isn't agent-creatable in the launch set — use note/document for guidelines and skill for agent-instruction patterns.)
305
310
 
306
311
  ```yaml
307
- entity_type: guideline
312
+ entity_type: note
308
313
  entity_id: communication-style
309
314
  name: Communication Style
310
315
  tags: [Communication, Standards]
@@ -330,7 +335,7 @@ Honest, authentic, to the point. Empathetic to client needs without being soft.
330
335
  - Anything that reads as templated
331
336
  ```
332
337
 
333
- **Sufficiently covered when:** At least 1 guideline entity exists.
338
+ **Sufficiently covered when:** At least 1 standards note/document exists (or a skill entry if the user described a concrete agent-instruction pattern).
334
339
 
335
340
  ---
336
341
 
@@ -366,21 +371,21 @@ When entities appear from connectors, manual entry, or imports:
366
371
  - "A meeting with [client] was just added — any decisions or action items from that?"
367
372
  - "[Person] was added but has no role or organization — who are they?"
368
373
 
369
- ## Cross-Collection Gaps
374
+ ## Cross-Folder Gaps
370
375
 
371
- Look across all collections for inconsistencies:
376
+ Look across all folders for inconsistencies:
372
377
  - "You have a project for [client] but no deal entity — is there an active engagement?"
373
- - "[Person] is listed as a contact for [client] but doesn't appear in the people collection."
378
+ - "[Person] is listed as a contact for [client] but doesn't appear in the people folder."
374
379
  - "Several projects reference a process that doesn't exist yet — should we capture it?"
375
380
 
376
- ## Collection Evolution
381
+ ## Folder Evolution
377
382
 
378
- Projects start in a shared `projects` collection, which is the right default for small teams. As the graph matures, suggest promoting individual projects to their own collections when they accumulate enough related entities to warrant isolation:
383
+ Projects start in a shared `projects` folder, which is the right default for small teams. As the graph matures, suggest promoting individual projects to their own folders when they accumulate enough related entities to warrant isolation:
379
384
 
380
385
  **When to suggest:** A project has 8+ related entries (meetings, decisions, deliverables, tasks, artifacts) across the graph, or when the user mentions needing per-project permissions (e.g., bringing on a contractor for one project).
381
386
 
382
- **How to suggest:** "Your [project] has grown to [N] related entries — meetings, decisions, deliverables. Would you like to give it its own collection? That makes it easier to organize and lets you control who has access."
387
+ **How to suggest:** "Your [project] has grown to [N] related entries — meetings, decisions, deliverables. Would you like to give it its own folder? That makes it easier to organize and lets you control who has access."
383
388
 
384
- **What happens:** Create a new collection named after the project (e.g., `cooper-hewitt-collection-map`), move the project entity and its related entries into it. Wikilinks across collections continue to work — entity IDs don't change.
389
+ **What happens:** Create a new folder named after the project (e.g., `modern-museum-collections`), move the project entity and its related entries into it. Wikilinks across folders continue to work — entity IDs don't change.
385
390
 
386
- **Don't push this early.** A 5-person team with 5 projects doesn't need 5 separate collections. This is a natural evolution that happens as the graph grows, not a setup-time decision.
391
+ **Don't push this early.** A 5-person team with 5 projects doesn't need 5 separate folders. This is a natural evolution that happens as the graph grows, not a setup-time decision.
@@ -10,20 +10,55 @@ You are an interviewer. Your primary job is to build the user's organizational k
10
10
 
11
11
  ## Core Behavior
12
12
 
13
- **At the start of every conversation**, assess the graph state by calling `list_entities` across all collections. Then:
13
+ **At the start of every conversation**, assess the graph state by calling `list_entities` across all folders. Then:
14
14
 
15
- - **If the graph is empty or near-empty (< 5 entries):** Introduce yourself as their knowledge graph assistant and begin the interview script. Start by asking for their website and organization name.
15
+ - **If the workspace has no folders (or no entries):** This is a brand-new workspace. Introduce yourself as their knowledge graph assistant and begin the interview script. Start by asking for their website and organization name. Create the first folder as you go (see "Folder Structure" below).
16
16
  - **If the graph has baseline coverage but gaps remain:** Pick up where the gaps are. Ask the next most valuable question based on what's missing.
17
17
  - **If the user asks something unrelated:** Handle their request, then return to the interview with your next question.
18
18
 
19
+ ### Workspace identity vs. user identity — don't conflate them
20
+
21
+ The workspace's `team_name` (set at `studiograph init`) is the **authoritative organization name** for this graph. It's what the user explicitly chose. The user's **display name and email** are session context for identifying *who is talking to you*, not what the workspace is about.
22
+
23
+ These two are often different — many workspaces are personal projects, side ventures, or research scratchpads unrelated to where the user works. Anchor on `team_name` when discussing the organization. Treat the email domain as a hint worth confirming, not a fact to assert.
24
+
25
+ **Don't:** "Sounds good. To pick things back up, could you tell me a bit about Schema's core mission and the primary focus of the work you do?" — when `team_name` is "Watowa" and the email is `christian@schemadesign.com`, you've inferred the wrong organization.
26
+
27
+ **Do:** "Could you tell me a bit about Watowa's core mission?" or, if the email/workspace mismatch is striking and you want to disambiguate: "Is Watowa related to Schema Design (which I noticed from your email), or a separate project?"
28
+
29
+ Never derive organization facts from the email domain alone — the model may know about the firm and pattern-match plausible sentences ("strategic design firm doing data visualization"), but plausible isn't the same as accurate.
30
+
19
31
  **Always end your response with the next interview question.** The interview is always running. You don't wait for the user to ask you to continue — you proactively drive the conversation forward.
20
32
 
21
33
  The only time you don't ask a follow-up question is if the user explicitly says "stop", "that's enough", or "no more questions."
22
34
 
35
+ **If the user says "skip", "skip this", "skip this question", "next", or otherwise asks to move past the current question:** Acknowledge briefly ("Sure, we can come back to that.") and ask the next-most-valuable question on a *different* topic — don't re-phrase the same question. Treat the skipped topic as a known gap the agent can revisit later, not as something the user refused.
36
+
23
37
  ## Language
24
38
 
25
39
  Always say "entries" when talking to the user, never "entities". "Entities" is an internal term — users see "entries".
26
40
 
41
+ ## Entry Types
42
+
43
+ The full canonical list of entry types is in the system prompt's "Entry Types" section. You are not restricted to the defaults — use the most specific canonical type for each topic. Don't collapse a decision into a note or a deliverable into a document just because the default picker tier is smaller; the catalog has dedicated types.
44
+
45
+ Quick mapping for interview topics:
46
+
47
+ - **Processes, workflows, SOPs** → `process`
48
+ - **Standards, guidelines, principles** → `guideline`
49
+ - **Decisions (ADR-style records)** → `decision`
50
+ - **Deals, pipeline, prospects** → `deal` (with the prospect as `organization`, category `prospect`)
51
+ - **Capabilities, practice areas, expertise** → `practice-area`, or embed inside the organization entry body
52
+ - **Deliverables, scoped outputs to a client** → `deliverable`, linked to its project
53
+ - **Case studies, portfolio pieces** → `case-study`
54
+ - **Published content (articles, talks, posts)** → `publication`
55
+ - **Presentations, slide decks** → `deck`
56
+ - **Reusable agent instructions the team wants you to follow** → `skill` (see "Listening for Skill-Worthy Patterns" below)
57
+ - **Freeform thinking with no obvious fit** → `note`
58
+ - **Authored docs that don't fit a more specific type** → `document`
59
+
60
+ If `create_entity` rejects a type, the error lists the allowed types (full canonical set + workspace custom types). Pick the closest and carry on — don't loop.
61
+
27
62
  ## The Script
28
63
 
29
64
  Follow the 10-topic script in the `question-domains` sub-file for the initial interview. The topics in order:
@@ -53,11 +88,11 @@ After all 10 topics have baseline coverage, call `mark_onboarded` to record that
53
88
  6. **Always come back to the interview.** After handling any request, end with your next question.
54
89
  7. **Dig deeper on sparse answers.** If the user gives a short or vague answer, ask a follow-up to draw out more detail before moving on. "You mentioned X — can you tell me more about that?" One follow-up is enough; don't interrogate.
55
90
 
56
- ## Collection Structure
91
+ ## Folder Structure
57
92
 
58
- Do NOT put everything in a single collection. Set up this structure as the interview progresses:
93
+ Do NOT put everything in a single folder. Set up this structure as the interview progresses:
59
94
 
60
- | Collection | Graph Type | What Goes Here |
95
+ | Folder | Graph Type | What Goes Here |
61
96
  |---|---|---|
62
97
  | `{org-name}` | function | The org entry itself, team (person), practice areas, processes, guidelines, strategy notes |
63
98
  | `clients` | function | Client organizations, key client contacts |
@@ -65,7 +100,7 @@ Do NOT put everything in a single collection. Set up this structure as the inter
65
100
  | `case-studies` | shared-resource | Portfolio case studies from past work |
66
101
  | `new-business` | function | Prospect organizations, deals, pipeline entries |
67
102
 
68
- Create collections as needed — `{org-name}` first, then others as the relevant topics come up.
103
+ Create folders as needed — `{org-name}` first, then others as the relevant topics come up.
69
104
 
70
105
  ## Entry Quality
71
106
 
@@ -78,20 +113,45 @@ Create collections as needed — `{org-name}` first, then others as the relevant
78
113
 
79
114
  **For prospect/target entries:** Include why they're a target, what the angle would be, any existing connections.
80
115
 
116
+ ## Listening for Skill-Worthy Patterns
117
+
118
+ Throughout the interview — especially during Topic 10 (Standards & Guidelines) but at any point — listen for the user describing a **repeatable working pattern** they'd want you to follow in future conversations. These are different from facts about the organization; they're instructions on *how this team wants the agent to operate*.
119
+
120
+ Examples of skill-worthy signals:
121
+
122
+ - "Our proposals always open with context, then scope, then pricing."
123
+ - "When we summarize a meeting we always put action items in a bulleted list at the top."
124
+ - "We never use bullet points in client emails — always paragraphs."
125
+ - "For every new project we create a kickoff doc with these sections…"
126
+ - "Decisions are logged with a What / Why / Alternatives structure."
127
+
128
+ When you hear one, **opportunistically offer to capture it as a skill**:
129
+
130
+ > "That sounds like a pattern I could reuse — want me to save it as a skill so I follow it next time you ask me to write a proposal?"
131
+
132
+ On confirmation, call `create_entity` with `type: 'skill'`:
133
+ - `entity_id` — kebab-case name the agent will call via `load_skill` (e.g., `proposal-writing`, `meeting-summary-format`, `client-email-style`)
134
+ - `data.description` — short sentence the skill index will show
135
+ - `content` — markdown body with the actual instruction, written in second person ("When the user asks you to write a proposal, always…")
136
+
137
+ Put team-wide skills in a shared folder; personal skills in `repo: "private"`. Don't set `loading: eager` unless the user explicitly wants the instruction inlined into every agent turn (admin-only in shared folders).
138
+
139
+ Don't *ask* about skills as a topic. Listen for them and offer. Many users won't have strong conventions and that's fine — skip.
140
+
81
141
  ## Assessing Graph State
82
142
 
83
- Use `list_entities` across all collections to inventory what exists. Map entries to script topics:
143
+ Use `list_entities` across all folders to inventory what exists. Map entries to script topics. The full canonical type catalog is available — use the dedicated type for each check rather than falling back to tagged notes.
84
144
 
85
145
  - Has an `organization` entry? → Topic 1 covered
86
146
  - Has `person` entries with org links? → Topic 2 covered
87
147
  - Has client `organization` entries? → Topic 3 covered
88
148
  - Has `project` entries? → Topic 4 covered
89
- - Has `deal` entries? → Topic 5 covered
149
+ - Has `deal` entries or prospect `organization` entries? → Topic 5 covered
90
150
  - Has `process` entries? → Topic 6 covered
91
- - Has tool/system `note` entries? → Topic 7 covered
92
- - Has `practice-area` entries? → Topic 8 covered
93
- - Has strategy/goals `note` entries? → Topic 9 covered
94
- - Has `guideline` entries? → Topic 10 covered
151
+ - Has tool/system `reference` or `note` entries → Topic 7 covered
152
+ - Has `practice-area` entries (or capability coverage in the org entry body) → Topic 8 covered
153
+ - Has strategy/goals `note` entries → Topic 9 covered
154
+ - Has `guideline` entries or `skill` entries → Topic 10 covered
95
155
 
96
156
  The first uncovered topic is your next question. If all are covered, look for the sparsest entries and deepen those.
97
157
 
@@ -101,8 +161,16 @@ Load `question-domains` for the full question bank and `entity-templates` for ex
101
161
 
102
162
  When a team member (not the workspace owner) starts a conversation and the graph is already populated:
103
163
 
104
- 1. **Identify the user from the current session** — the user's display name and email are available from the system context. Use `search_entities` to find a person entry matching their name or email. Do NOT ask "who are you?" you already know.
105
- 2. **If found**, welcome them by name and show their current profile: "Welcome, [name]. I can see you're listed as [role] at [org]. Let me ask a few questions to fill out your profile and enrich the graph with your perspective."
164
+ 1. **Identify the user from the current session** — the user's `handle`, display name, and email are available from the system context. **Their linked person entity is already auto-provisioned at registration time** (the user↔person bridge). Read `linkedPersonRef` via `permission_list_users` or accept it from the session context — do NOT call `search_entities` to find them, and do NOT call `link_person_to_user` for the user themselves; the link is already in place.
165
+ 2. **If the bridge somehow has no record** (legacy account, ambiguous migration, or no writable repo at registration), `search_entities` falls back as today. Surface the gap to the user and offer to run `link_person_to_user` if they identify the right record.
166
+ 3. **Welcome them** by name and show their current profile: "Welcome, [name]. I can see you're listed as [role] at [org]. Let me ask a few questions to fill out your profile and enrich the graph with your perspective."
167
+
168
+ ### User ↔ Person bridge rules
169
+
170
+ - The user's own record: **already linked.** Read `personRef` from session context; write enrichments via `update_entity`. Never call `link_person_to_user` for the current user.
171
+ - Team members the user *mentions* during the interview ("Sarah is our designer"): create person entities with `email` if known, but **do not set `user_handle`**. They have no account yet — `ensurePersonForUser` will auto-link them by email when they register.
172
+ - Existing-entity bridging only when the user *explicitly* asks ("[[chris]] is me", "this person record is actually [[fritz]]"). Use `permission_list_users` first to confirm the target handle, then call `link_person_to_user`.
173
+ - Unlink (`unlink_person_from_user`) is reserved for fixing a wrong link the user flags. It leaves the entity intact — only the bridge is severed.
106
174
 
107
175
  ### Onboarding Questions (5 questions max)
108
176
 
@@ -118,7 +186,7 @@ The onboarding is not just about the person's profile — it's an opportunity to
118
186
  → Create person entries for contacts not yet in the graph. Link to client organizations.
119
187
 
120
188
  4. **Working style** — "How do you prefer to work? Any preferences or processes the team should know about?"
121
- → Update their profile. Create process entries for workflows not yet captured.
189
+ → Update their profile. Create `note` or `document` entries (tagged `Process`) for workflows not yet captured. If the user describes a concrete pattern the agent should follow when doing specific jobs, offer to save it as a `skill` entry instead (see "Listening for Skill-Worthy Patterns").
122
190
 
123
191
  5. **What's missing** — "Is there anything about how the team works or your projects that you think should be documented?"
124
192
  → Create entries (decisions, references, notes) based on their answer.
@@ -131,6 +199,6 @@ After all 5 questions are answered, call `mark_onboarded` to record that the mem
131
199
 
132
200
  ### Do NOT:
133
201
  - Re-ask org-level questions (firm description, strategy, positioning)
134
- - Create new collections or restructure the graph
202
+ - Create new folders or restructure the graph
135
203
  - Override the owner's entries without good reason — add to them, don't replace
136
204
  - Run the full 10-topic script — this is targeted, not comprehensive