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
@@ -1,15 +1,45 @@
1
1
  /**
2
2
  * Entity validation schemas for Studiograph
3
3
  *
4
- * 17 built-in entity types organized into three categories:
5
- * - Identity (4): person, organization, role, practice-area
6
- * - Universal (10): project, meeting, decision, task, document, dataset, reference, note, deliverable, publication
7
- * - Knowledge (3): process, guideline, case-study
4
+ * 20 canonical entity types post-redesign:
5
+ * - CRM (4): person, organization, position, deal
6
+ * - PM (4): project, event, task, deliverable
7
+ * - KM authored (7): document, deck, artifact, publication, case-study, service, skill
8
+ * - Capture (4): note, reference, dataset, material
9
+ * - System (1): comment
8
10
  *
9
- * App plugins register additional types at runtime via SchemaRegistry.
10
- * Teams can define custom types via schema_extensions in workspace config.
11
+ * The `asset` entity type was retired (asset-as-embed / Phase F); its name is
12
+ * reserved (see RESERVED_ENTITY_TYPES) so it can never be re-created.
13
+ *
14
+ * "An object earns first-class entity status only if it earns its own view
15
+ * behavior across the six primary views (List, Gallery, Kanban, Calendar,
16
+ * Timeline, Graph). Objects that are mostly useful because they're attached
17
+ * to something else become categories, fields, or inline blocks — not types."
18
+ *
19
+ * Workspaces can define additional custom types via schema_extensions.
11
20
  */
12
21
  import { z } from 'zod';
22
+ /**
23
+ * The entity date vocabulary — exactly two fields, product-wide:
24
+ *
25
+ * `date` the one salient date an entity carries. Universal (base),
26
+ * so every type can have it. Its *meaning* is type-specific
27
+ * (a task's due date, a deal's close, a project's end) and is
28
+ * expressed only through the per-type `label` below — the
29
+ * field name and storage stay generic. When a range is
30
+ * present, this is its end / anchor.
31
+ * `start_date` optional earlier bound, declared only on the five duration
32
+ * types (project, event, task, deliverable, deal). The range
33
+ * is [start_date, date].
34
+ *
35
+ * Both validate as YYYY-MM-DD. `created_at` / `updated_at` are ISO system
36
+ * timestamps and are deliberately NOT part of this vocabulary.
37
+ *
38
+ * `role` + `label` ride on the schema via `.meta()` and surface through
39
+ * `describeZodObject` → `get_entity_schema` + `/api/schema`, so the agent,
40
+ * the property panel, and every date-aware view read them from one place.
41
+ */
42
+ export type DateRole = 'primary' | 'start';
13
43
  /**
14
44
  * Base entity schema - all entities have these fields
15
45
  */
@@ -21,29 +51,15 @@ export declare const EntityBaseSchema: z.ZodObject<{
21
51
  created_by: z.ZodString;
22
52
  updated_by: z.ZodString;
23
53
  date: z.ZodOptional<z.ZodString>;
24
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
25
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
26
- entity_type: z.ZodString;
27
- entity_id: z.ZodString;
28
- created_at: z.ZodString;
29
- updated_at: z.ZodString;
30
- created_by: z.ZodString;
31
- updated_by: z.ZodString;
32
- date: z.ZodOptional<z.ZodString>;
33
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
34
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
35
- entity_type: z.ZodString;
36
- entity_id: z.ZodString;
37
- created_at: z.ZodString;
38
- updated_at: z.ZodString;
39
- created_by: z.ZodString;
40
- updated_by: z.ZodString;
41
- date: z.ZodOptional<z.ZodString>;
42
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
43
- }, z.ZodTypeAny, "passthrough">>;
54
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
55
+ }, z.core.$loose>;
44
56
  export type EntityBase = z.infer<typeof EntityBaseSchema>;
45
57
  /**
46
- * Person — team members, client contacts, any individual
58
+ * Person — team members, client contacts, any individual.
59
+ *
60
+ * `category` and `status` are split: category is the relationship type
61
+ * (employee/contractor/client/partner) and status is whether that
62
+ * relationship is current or historical. Mirrors organization.
47
63
  */
48
64
  export declare const PersonSchema: z.ZodObject<{
49
65
  entity_id: z.ZodString;
@@ -52,51 +68,30 @@ export declare const PersonSchema: z.ZodObject<{
52
68
  created_by: z.ZodString;
53
69
  updated_by: z.ZodString;
54
70
  date: z.ZodOptional<z.ZodString>;
55
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
56
- } & {
57
- entity_type: z.ZodLiteral<"person">;
58
- name: z.ZodString;
59
- role: z.ZodOptional<z.ZodString>;
60
- status: z.ZodOptional<z.ZodEnum<["current", "former", "contractor", "client", "partner"]>>;
61
- email: z.ZodOptional<z.ZodString>;
62
- location: z.ZodOptional<z.ZodString>;
63
- organization: z.ZodOptional<z.ZodString>;
64
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
65
- entity_id: z.ZodString;
66
- created_at: z.ZodString;
67
- updated_at: z.ZodString;
68
- created_by: z.ZodString;
69
- updated_by: z.ZodString;
70
- date: z.ZodOptional<z.ZodString>;
71
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
72
- } & {
73
- entity_type: z.ZodLiteral<"person">;
74
- name: z.ZodString;
75
- role: z.ZodOptional<z.ZodString>;
76
- status: z.ZodOptional<z.ZodEnum<["current", "former", "contractor", "client", "partner"]>>;
77
- email: z.ZodOptional<z.ZodString>;
78
- location: z.ZodOptional<z.ZodString>;
79
- organization: z.ZodOptional<z.ZodString>;
80
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
81
- entity_id: z.ZodString;
82
- created_at: z.ZodString;
83
- updated_at: z.ZodString;
84
- created_by: z.ZodString;
85
- updated_by: z.ZodString;
86
- date: z.ZodOptional<z.ZodString>;
87
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
88
- } & {
71
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
72
  entity_type: z.ZodLiteral<"person">;
90
73
  name: z.ZodString;
91
74
  role: z.ZodOptional<z.ZodString>;
92
- status: z.ZodOptional<z.ZodEnum<["current", "former", "contractor", "client", "partner"]>>;
75
+ category: z.ZodOptional<z.ZodEnum<{
76
+ employee: "employee";
77
+ contractor: "contractor";
78
+ client: "client";
79
+ partner: "partner";
80
+ other: "other";
81
+ }>>;
82
+ status: z.ZodOptional<z.ZodEnum<{
83
+ current: "current";
84
+ former: "former";
85
+ }>>;
93
86
  email: z.ZodOptional<z.ZodString>;
94
87
  location: z.ZodOptional<z.ZodString>;
95
88
  organization: z.ZodOptional<z.ZodString>;
96
- }, z.ZodTypeAny, "passthrough">>;
89
+ user_handle: z.ZodOptional<z.ZodString>;
90
+ }, z.core.$loose>;
97
91
  export type Person = z.infer<typeof PersonSchema>;
98
92
  /**
99
- * Organization — clients, vendors, partners, prospects, industry bodies
93
+ * Organization — clients, vendors, partners, prospects, professional
94
+ * associations.
100
95
  */
101
96
  export declare const OrganizationSchema: z.ZodObject<{
102
97
  entity_id: z.ZodString;
@@ -105,133 +100,88 @@ export declare const OrganizationSchema: z.ZodObject<{
105
100
  created_by: z.ZodString;
106
101
  updated_by: z.ZodString;
107
102
  date: z.ZodOptional<z.ZodString>;
108
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
109
- } & {
110
- entity_type: z.ZodLiteral<"organization">;
111
- name: z.ZodString;
112
- category: z.ZodOptional<z.ZodEnum<["client", "vendor", "partner", "prospect", "industry-body", "other"]>>;
113
- status: z.ZodDefault<z.ZodEnum<["active", "inactive", "former"]>>;
114
- industry: z.ZodOptional<z.ZodString>;
115
- website: z.ZodOptional<z.ZodString>;
116
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
117
- entity_id: z.ZodString;
118
- created_at: z.ZodString;
119
- updated_at: z.ZodString;
120
- created_by: z.ZodString;
121
- updated_by: z.ZodString;
122
- date: z.ZodOptional<z.ZodString>;
123
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
124
- } & {
125
- entity_type: z.ZodLiteral<"organization">;
126
- name: z.ZodString;
127
- category: z.ZodOptional<z.ZodEnum<["client", "vendor", "partner", "prospect", "industry-body", "other"]>>;
128
- status: z.ZodDefault<z.ZodEnum<["active", "inactive", "former"]>>;
129
- industry: z.ZodOptional<z.ZodString>;
130
- website: z.ZodOptional<z.ZodString>;
131
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
132
- entity_id: z.ZodString;
133
- created_at: z.ZodString;
134
- updated_at: z.ZodString;
135
- created_by: z.ZodString;
136
- updated_by: z.ZodString;
137
- date: z.ZodOptional<z.ZodString>;
138
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
139
- } & {
103
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
140
104
  entity_type: z.ZodLiteral<"organization">;
141
105
  name: z.ZodString;
142
- category: z.ZodOptional<z.ZodEnum<["client", "vendor", "partner", "prospect", "industry-body", "other"]>>;
143
- status: z.ZodDefault<z.ZodEnum<["active", "inactive", "former"]>>;
106
+ category: z.ZodOptional<z.ZodEnum<{
107
+ client: "client";
108
+ partner: "partner";
109
+ other: "other";
110
+ vendor: "vendor";
111
+ prospect: "prospect";
112
+ "professional-association": "professional-association";
113
+ }>>;
114
+ status: z.ZodDefault<z.ZodEnum<{
115
+ former: "former";
116
+ active: "active";
117
+ dormant: "dormant";
118
+ }>>;
144
119
  industry: z.ZodOptional<z.ZodString>;
145
120
  website: z.ZodOptional<z.ZodString>;
146
- }, z.ZodTypeAny, "passthrough">>;
121
+ }, z.core.$loose>;
147
122
  export type Organization = z.infer<typeof OrganizationSchema>;
148
123
  /**
149
- * Rolerole definitions and job postings
124
+ * Positiona position spec or open job. Renamed from `role` to avoid
125
+ * collision with `person.role` (the free-text title field). Reframes from
126
+ * "the person's seat" to "the spec for a position."
150
127
  */
151
- export declare const RoleSchema: z.ZodObject<{
152
- entity_id: z.ZodString;
153
- created_at: z.ZodString;
154
- updated_at: z.ZodString;
155
- created_by: z.ZodString;
156
- updated_by: z.ZodString;
157
- date: z.ZodOptional<z.ZodString>;
158
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
159
- } & {
160
- entity_type: z.ZodLiteral<"role">;
161
- name: z.ZodString;
162
- department: z.ZodOptional<z.ZodString>;
163
- category: z.ZodOptional<z.ZodEnum<["staff", "contractor", "intern"]>>;
164
- status: z.ZodDefault<z.ZodEnum<["active", "open", "filled", "archived"]>>;
165
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
166
- entity_id: z.ZodString;
167
- created_at: z.ZodString;
168
- updated_at: z.ZodString;
169
- created_by: z.ZodString;
170
- updated_by: z.ZodString;
171
- date: z.ZodOptional<z.ZodString>;
172
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
173
- } & {
174
- entity_type: z.ZodLiteral<"role">;
175
- name: z.ZodString;
176
- department: z.ZodOptional<z.ZodString>;
177
- category: z.ZodOptional<z.ZodEnum<["staff", "contractor", "intern"]>>;
178
- status: z.ZodDefault<z.ZodEnum<["active", "open", "filled", "archived"]>>;
179
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
128
+ export declare const PositionSchema: z.ZodObject<{
180
129
  entity_id: z.ZodString;
181
130
  created_at: z.ZodString;
182
131
  updated_at: z.ZodString;
183
132
  created_by: z.ZodString;
184
133
  updated_by: z.ZodString;
185
134
  date: z.ZodOptional<z.ZodString>;
186
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
187
- } & {
188
- entity_type: z.ZodLiteral<"role">;
135
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
136
+ entity_type: z.ZodLiteral<"position">;
189
137
  name: z.ZodString;
190
138
  department: z.ZodOptional<z.ZodString>;
191
- category: z.ZodOptional<z.ZodEnum<["staff", "contractor", "intern"]>>;
192
- status: z.ZodDefault<z.ZodEnum<["active", "open", "filled", "archived"]>>;
193
- }, z.ZodTypeAny, "passthrough">>;
194
- export type Role = z.infer<typeof RoleSchema>;
139
+ category: z.ZodOptional<z.ZodEnum<{
140
+ contractor: "contractor";
141
+ staff: "staff";
142
+ intern: "intern";
143
+ }>>;
144
+ status: z.ZodDefault<z.ZodEnum<{
145
+ draft: "draft";
146
+ open: "open";
147
+ filled: "filled";
148
+ closed: "closed";
149
+ }>>;
150
+ }, z.core.$loose>;
151
+ export type Position = z.infer<typeof PositionSchema>;
195
152
  /**
196
- * Practice Area firm capabilities and disciplines
153
+ * Dealpre-project opportunity in the sales pipeline.
197
154
  */
198
- export declare const PracticeAreaSchema: z.ZodObject<{
199
- entity_id: z.ZodString;
200
- created_at: z.ZodString;
201
- updated_at: z.ZodString;
202
- created_by: z.ZodString;
203
- updated_by: z.ZodString;
204
- date: z.ZodOptional<z.ZodString>;
205
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
206
- } & {
207
- entity_type: z.ZodLiteral<"practice-area">;
208
- name: z.ZodString;
209
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
155
+ export declare const DealSchema: z.ZodObject<{
210
156
  entity_id: z.ZodString;
211
157
  created_at: z.ZodString;
212
158
  updated_at: z.ZodString;
213
159
  created_by: z.ZodString;
214
160
  updated_by: z.ZodString;
215
- date: z.ZodOptional<z.ZodString>;
216
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
217
- } & {
218
- entity_type: z.ZodLiteral<"practice-area">;
161
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
162
+ entity_type: z.ZodLiteral<"deal">;
219
163
  name: z.ZodString;
220
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
221
- entity_id: z.ZodString;
222
- created_at: z.ZodString;
223
- updated_at: z.ZodString;
224
- created_by: z.ZodString;
225
- updated_by: z.ZodString;
164
+ client: z.ZodOptional<z.ZodString>;
165
+ contact: z.ZodOptional<z.ZodString>;
166
+ stage: z.ZodDefault<z.ZodEnum<{
167
+ qualification: "qualification";
168
+ scoping: "scoping";
169
+ proposal: "proposal";
170
+ negotiation: "negotiation";
171
+ "pending-signature": "pending-signature";
172
+ won: "won";
173
+ lost: "lost";
174
+ }>>;
175
+ deal_value: z.ZodOptional<z.ZodNumber>;
176
+ start_date: z.ZodOptional<z.ZodString>;
226
177
  date: z.ZodOptional<z.ZodString>;
227
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
228
- } & {
229
- entity_type: z.ZodLiteral<"practice-area">;
230
- name: z.ZodString;
231
- }, z.ZodTypeAny, "passthrough">>;
232
- export type PracticeArea = z.infer<typeof PracticeAreaSchema>;
178
+ }, z.core.$loose>;
179
+ export type Deal = z.infer<typeof DealSchema>;
233
180
  /**
234
- * Project — a client engagement or internal initiative
181
+ * Project — a client engagement or internal initiative.
182
+ *
183
+ * `services` is a wikilink array to `service` entities the project includes
184
+ * (replaces the previous `practice_area` concept).
235
185
  */
236
186
  export declare const ProjectSchema: z.ZodObject<{
237
187
  entity_id: z.ZodString;
@@ -239,338 +189,353 @@ export declare const ProjectSchema: z.ZodObject<{
239
189
  updated_at: z.ZodString;
240
190
  created_by: z.ZodString;
241
191
  updated_by: z.ZodString;
242
- date: z.ZodOptional<z.ZodString>;
243
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
244
- } & {
245
- entity_type: z.ZodLiteral<"project">;
246
- name: z.ZodString;
247
- category: z.ZodOptional<z.ZodEnum<["client", "internal"]>>;
248
- project_type: z.ZodOptional<z.ZodString>;
249
- client: z.ZodOptional<z.ZodString>;
250
- status: z.ZodOptional<z.ZodEnum<["planning", "scoping", "active", "on-hold", "completed", "archived"]>>;
251
- start_date: z.ZodOptional<z.ZodString>;
252
- end_date: z.ZodOptional<z.ZodString>;
253
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
254
- entity_id: z.ZodString;
255
- created_at: z.ZodString;
256
- updated_at: z.ZodString;
257
- created_by: z.ZodString;
258
- updated_by: z.ZodString;
259
- date: z.ZodOptional<z.ZodString>;
260
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
261
- } & {
192
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
262
193
  entity_type: z.ZodLiteral<"project">;
263
194
  name: z.ZodString;
264
- category: z.ZodOptional<z.ZodEnum<["client", "internal"]>>;
195
+ category: z.ZodOptional<z.ZodEnum<{
196
+ client: "client";
197
+ internal: "internal";
198
+ }>>;
265
199
  project_type: z.ZodOptional<z.ZodString>;
266
200
  client: z.ZodOptional<z.ZodString>;
267
- status: z.ZodOptional<z.ZodEnum<["planning", "scoping", "active", "on-hold", "completed", "archived"]>>;
201
+ services: z.ZodOptional<z.ZodArray<z.ZodString>>;
202
+ status: z.ZodOptional<z.ZodEnum<{
203
+ planning: "planning";
204
+ "in-progress": "in-progress";
205
+ paused: "paused";
206
+ complete: "complete";
207
+ archived: "archived";
208
+ }>>;
268
209
  start_date: z.ZodOptional<z.ZodString>;
269
- end_date: z.ZodOptional<z.ZodString>;
270
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
271
- entity_id: z.ZodString;
272
- created_at: z.ZodString;
273
- updated_at: z.ZodString;
274
- created_by: z.ZodString;
275
- updated_by: z.ZodString;
276
210
  date: z.ZodOptional<z.ZodString>;
277
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
278
- } & {
279
- entity_type: z.ZodLiteral<"project">;
280
- name: z.ZodString;
281
- category: z.ZodOptional<z.ZodEnum<["client", "internal"]>>;
282
- project_type: z.ZodOptional<z.ZodString>;
283
- client: z.ZodOptional<z.ZodString>;
284
- status: z.ZodOptional<z.ZodEnum<["planning", "scoping", "active", "on-hold", "completed", "archived"]>>;
285
- start_date: z.ZodOptional<z.ZodString>;
286
- end_date: z.ZodOptional<z.ZodString>;
287
- }, z.ZodTypeAny, "passthrough">>;
211
+ }, z.core.$loose>;
288
212
  export type Project = z.infer<typeof ProjectSchema>;
289
213
  /**
290
- * Meeting — any scheduled gathering
214
+ * Event — any scheduled gathering (meeting, call, workshop, review, etc.).
215
+ * `type` discriminates the kind of gathering for grouping/filtering. The
216
+ * default `meeting` preserves semantics for legacy meeting captures.
217
+ *
218
+ * Note: `deadline` is intentionally NOT a `type` value — deadlines are
219
+ * `task` entries with a `date` (the due date). Events are things you attend.
291
220
  */
292
- export declare const MeetingSchema: z.ZodObject<{
293
- entity_id: z.ZodString;
294
- created_at: z.ZodString;
295
- updated_at: z.ZodString;
296
- created_by: z.ZodString;
297
- updated_by: z.ZodString;
298
- date: z.ZodOptional<z.ZodString>;
299
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
300
- } & {
301
- entity_type: z.ZodLiteral<"meeting">;
302
- name: z.ZodString;
303
- attendees: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
304
- location: z.ZodOptional<z.ZodString>;
305
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
221
+ export declare const EVENT_TYPES: readonly ["meeting", "call", "review", "workshop", "presentation", "conference", "other"];
222
+ export type EventType = (typeof EVENT_TYPES)[number];
223
+ export declare const EventSchema: z.ZodObject<{
306
224
  entity_id: z.ZodString;
307
225
  created_at: z.ZodString;
308
226
  updated_at: z.ZodString;
309
227
  created_by: z.ZodString;
310
228
  updated_by: z.ZodString;
311
- date: z.ZodOptional<z.ZodString>;
312
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
313
- } & {
314
- entity_type: z.ZodLiteral<"meeting">;
229
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
230
+ entity_type: z.ZodLiteral<"event">;
315
231
  name: z.ZodString;
316
- attendees: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
232
+ type: z.ZodDefault<z.ZodEnum<{
233
+ other: "other";
234
+ meeting: "meeting";
235
+ call: "call";
236
+ review: "review";
237
+ workshop: "workshop";
238
+ presentation: "presentation";
239
+ conference: "conference";
240
+ }>>;
241
+ attendees: z.ZodOptional<z.ZodArray<z.ZodString>>;
317
242
  location: z.ZodOptional<z.ZodString>;
318
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
319
- entity_id: z.ZodString;
320
- created_at: z.ZodString;
321
- updated_at: z.ZodString;
322
- created_by: z.ZodString;
323
- updated_by: z.ZodString;
243
+ start_date: z.ZodOptional<z.ZodString>;
324
244
  date: z.ZodOptional<z.ZodString>;
325
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
326
- } & {
327
- entity_type: z.ZodLiteral<"meeting">;
328
- name: z.ZodString;
329
- attendees: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
330
- location: z.ZodOptional<z.ZodString>;
331
- }, z.ZodTypeAny, "passthrough">>;
332
- export type Meeting = z.infer<typeof MeetingSchema>;
245
+ }, z.core.$loose>;
246
+ export type Event = z.infer<typeof EventSchema>;
333
247
  /**
334
- * Decisionstructured decision records (ADR-style)
248
+ * Tasklightweight action items and to-dos.
249
+ *
250
+ * `phase` is intentionally free-text (not a separate entity type or workspace
251
+ * config list). Phases vary widely across project types; the Timeline view
252
+ * auto-discovers distinct values per-project for grouping.
335
253
  */
336
- export declare const DecisionSchema: z.ZodObject<{
337
- entity_id: z.ZodString;
338
- created_at: z.ZodString;
339
- updated_at: z.ZodString;
340
- created_by: z.ZodString;
341
- updated_by: z.ZodString;
342
- date: z.ZodOptional<z.ZodString>;
343
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
344
- } & {
345
- entity_type: z.ZodLiteral<"decision">;
346
- name: z.ZodString;
347
- status: z.ZodDefault<z.ZodEnum<["proposed", "accepted", "rejected", "deprecated", "superseded"]>>;
348
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
254
+ export declare const TaskSchema: z.ZodObject<{
349
255
  entity_id: z.ZodString;
350
256
  created_at: z.ZodString;
351
257
  updated_at: z.ZodString;
352
258
  created_by: z.ZodString;
353
259
  updated_by: z.ZodString;
354
- date: z.ZodOptional<z.ZodString>;
355
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
356
- } & {
357
- entity_type: z.ZodLiteral<"decision">;
260
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
261
+ entity_type: z.ZodLiteral<"task">;
358
262
  name: z.ZodString;
359
- status: z.ZodDefault<z.ZodEnum<["proposed", "accepted", "rejected", "deprecated", "superseded"]>>;
360
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
361
- entity_id: z.ZodString;
362
- created_at: z.ZodString;
363
- updated_at: z.ZodString;
364
- created_by: z.ZodString;
365
- updated_by: z.ZodString;
263
+ status: z.ZodDefault<z.ZodEnum<{
264
+ "in-progress": "in-progress";
265
+ backlog: "backlog";
266
+ todo: "todo";
267
+ "in-review": "in-review";
268
+ done: "done";
269
+ cancelled: "cancelled";
270
+ }>>;
271
+ priority: z.ZodOptional<z.ZodEnum<{
272
+ low: "low";
273
+ medium: "medium";
274
+ high: "high";
275
+ urgent: "urgent";
276
+ }>>;
277
+ assignee: z.ZodOptional<z.ZodString>;
278
+ phase: z.ZodOptional<z.ZodString>;
279
+ start_date: z.ZodOptional<z.ZodString>;
366
280
  date: z.ZodOptional<z.ZodString>;
367
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
368
- } & {
369
- entity_type: z.ZodLiteral<"decision">;
370
- name: z.ZodString;
371
- status: z.ZodDefault<z.ZodEnum<["proposed", "accepted", "rejected", "deprecated", "superseded"]>>;
372
- }, z.ZodTypeAny, "passthrough">>;
373
- export type Decision = z.infer<typeof DecisionSchema>;
281
+ completed_at: z.ZodOptional<z.ZodString>;
282
+ }, z.core.$loose>;
283
+ export type Task = z.infer<typeof TaskSchema>;
374
284
  /**
375
- * Tasklightweight action items and to-dos
285
+ * Deliverablea scoped output promised to a client.
376
286
  */
377
- export declare const TaskSchema: z.ZodObject<{
287
+ export declare const DeliverableSchema: z.ZodObject<{
378
288
  entity_id: z.ZodString;
379
289
  created_at: z.ZodString;
380
290
  updated_at: z.ZodString;
381
291
  created_by: z.ZodString;
382
292
  updated_by: z.ZodString;
383
- date: z.ZodOptional<z.ZodString>;
384
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
385
- } & {
386
- entity_type: z.ZodLiteral<"task">;
293
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
294
+ entity_type: z.ZodLiteral<"deliverable">;
387
295
  name: z.ZodString;
388
- status: z.ZodDefault<z.ZodEnum<["open", "in-progress", "done", "cancelled"]>>;
389
- priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "urgent"]>>;
390
- assignee: z.ZodOptional<z.ZodString>;
391
- due_date: z.ZodOptional<z.ZodString>;
392
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
296
+ project: z.ZodOptional<z.ZodString>;
297
+ status: z.ZodDefault<z.ZodEnum<{
298
+ "in-progress": "in-progress";
299
+ planned: "planned";
300
+ delivered: "delivered";
301
+ accepted: "accepted";
302
+ rejected: "rejected";
303
+ }>>;
304
+ phase: z.ZodOptional<z.ZodString>;
305
+ start_date: z.ZodOptional<z.ZodString>;
306
+ date: z.ZodOptional<z.ZodString>;
307
+ }, z.core.$loose>;
308
+ export type Deliverable = z.infer<typeof DeliverableSchema>;
309
+ /**
310
+ * Document — any authored document. The `guideline` category absorbs the
311
+ * former standalone `guideline` entity type.
312
+ */
313
+ export declare const DocumentSchema: z.ZodObject<{
393
314
  entity_id: z.ZodString;
394
315
  created_at: z.ZodString;
395
316
  updated_at: z.ZodString;
396
317
  created_by: z.ZodString;
397
318
  updated_by: z.ZodString;
398
319
  date: z.ZodOptional<z.ZodString>;
399
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
400
- } & {
401
- entity_type: z.ZodLiteral<"task">;
320
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
321
+ entity_type: z.ZodLiteral<"document">;
402
322
  name: z.ZodString;
403
- status: z.ZodDefault<z.ZodEnum<["open", "in-progress", "done", "cancelled"]>>;
404
- priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "urgent"]>>;
405
- assignee: z.ZodOptional<z.ZodString>;
406
- due_date: z.ZodOptional<z.ZodString>;
407
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
323
+ category: z.ZodOptional<z.ZodEnum<{
324
+ other: "other";
325
+ proposal: "proposal";
326
+ contract: "contract";
327
+ brief: "brief";
328
+ memo: "memo";
329
+ report: "report";
330
+ template: "template";
331
+ guideline: "guideline";
332
+ }>>;
333
+ status: z.ZodDefault<z.ZodEnum<{
334
+ draft: "draft";
335
+ archived: "archived";
336
+ review: "review";
337
+ final: "final";
338
+ }>>;
339
+ }, z.core.$loose>;
340
+ export type Document = z.infer<typeof DocumentSchema>;
341
+ /**
342
+ * Deck — a slide deck or presentation. Stays its own type alongside
343
+ * `document` because of the dedicated slides renderer + agent skills that
344
+ * pattern-match on `entity_type === 'deck'`.
345
+ */
346
+ export declare const DeckSchema: z.ZodObject<{
408
347
  entity_id: z.ZodString;
409
348
  created_at: z.ZodString;
410
349
  updated_at: z.ZodString;
411
350
  created_by: z.ZodString;
412
351
  updated_by: z.ZodString;
413
352
  date: z.ZodOptional<z.ZodString>;
414
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
415
- } & {
416
- entity_type: z.ZodLiteral<"task">;
353
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
354
+ entity_type: z.ZodLiteral<"deck">;
417
355
  name: z.ZodString;
418
- status: z.ZodDefault<z.ZodEnum<["open", "in-progress", "done", "cancelled"]>>;
419
- priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "urgent"]>>;
420
- assignee: z.ZodOptional<z.ZodString>;
421
- due_date: z.ZodOptional<z.ZodString>;
422
- }, z.ZodTypeAny, "passthrough">>;
423
- export type Task = z.infer<typeof TaskSchema>;
356
+ audience: z.ZodOptional<z.ZodEnum<{
357
+ external: "external";
358
+ client: "client";
359
+ other: "other";
360
+ team: "team";
361
+ board: "board";
362
+ }>>;
363
+ status: z.ZodDefault<z.ZodEnum<{
364
+ draft: "draft";
365
+ archived: "archived";
366
+ review: "review";
367
+ final: "final";
368
+ }>>;
369
+ }, z.core.$loose>;
370
+ export type Deck = z.infer<typeof DeckSchema>;
424
371
  /**
425
- * Documentany authored document
372
+ * Artifacta persisted Artifact Canvas bundle. The markdown body stores the
373
+ * serialized ArtifactBundle JSON; frontmatter carries scannable metadata for
374
+ * lists, filters, and the property panel.
426
375
  */
427
- export declare const DocumentSchema: z.ZodObject<{
376
+ export declare const ArtifactSchema: z.ZodObject<{
428
377
  entity_id: z.ZodString;
429
378
  created_at: z.ZodString;
430
379
  updated_at: z.ZodString;
431
380
  created_by: z.ZodString;
432
381
  updated_by: z.ZodString;
433
382
  date: z.ZodOptional<z.ZodString>;
434
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
435
- } & {
436
- entity_type: z.ZodLiteral<"document">;
383
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
384
+ entity_type: z.ZodLiteral<"artifact">;
437
385
  name: z.ZodString;
438
- category: z.ZodOptional<z.ZodEnum<["proposal", "contract", "brief", "memo", "report", "template", "other"]>>;
439
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "final", "archived"]>>;
440
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
386
+ kind: z.ZodDefault<z.ZodEnum<{
387
+ custom: "custom";
388
+ document: "document";
389
+ html: "html";
390
+ slides: "slides";
391
+ social: "social";
392
+ app: "app";
393
+ }>>;
394
+ status: z.ZodDefault<z.ZodEnum<{
395
+ draft: "draft";
396
+ archived: "archived";
397
+ review: "review";
398
+ final: "final";
399
+ }>>;
400
+ viewport_width: z.ZodOptional<z.ZodNumber>;
401
+ viewport_height: z.ZodOptional<z.ZodNumber>;
402
+ viewport_mode: z.ZodOptional<z.ZodEnum<{
403
+ fixed: "fixed";
404
+ responsive: "responsive";
405
+ paged: "paged";
406
+ }>>;
407
+ }, z.core.$loose>;
408
+ export type Artifact = z.infer<typeof ArtifactSchema>;
409
+ /**
410
+ * Publication — authored content published externally.
411
+ */
412
+ export declare const PublicationSchema: z.ZodObject<{
441
413
  entity_id: z.ZodString;
442
414
  created_at: z.ZodString;
443
415
  updated_at: z.ZodString;
444
416
  created_by: z.ZodString;
445
417
  updated_by: z.ZodString;
446
418
  date: z.ZodOptional<z.ZodString>;
447
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
448
- } & {
449
- entity_type: z.ZodLiteral<"document">;
419
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
420
+ entity_type: z.ZodLiteral<"publication">;
450
421
  name: z.ZodString;
451
- category: z.ZodOptional<z.ZodEnum<["proposal", "contract", "brief", "memo", "report", "template", "other"]>>;
452
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "final", "archived"]>>;
453
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
422
+ platform: z.ZodOptional<z.ZodString>;
423
+ status: z.ZodDefault<z.ZodEnum<{
424
+ draft: "draft";
425
+ review: "review";
426
+ scheduled: "scheduled";
427
+ published: "published";
428
+ }>>;
429
+ url: z.ZodOptional<z.ZodString>;
430
+ }, z.core.$loose>;
431
+ export type Publication = z.infer<typeof PublicationSchema>;
432
+ /**
433
+ * Case Study — portfolio narratives for completed projects.
434
+ */
435
+ export declare const CaseStudySchema: z.ZodObject<{
454
436
  entity_id: z.ZodString;
455
437
  created_at: z.ZodString;
456
438
  updated_at: z.ZodString;
457
439
  created_by: z.ZodString;
458
440
  updated_by: z.ZodString;
459
441
  date: z.ZodOptional<z.ZodString>;
460
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
461
- } & {
462
- entity_type: z.ZodLiteral<"document">;
442
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
443
+ entity_type: z.ZodLiteral<"case-study">;
463
444
  name: z.ZodString;
464
- category: z.ZodOptional<z.ZodEnum<["proposal", "contract", "brief", "memo", "report", "template", "other"]>>;
465
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "final", "archived"]>>;
466
- }, z.ZodTypeAny, "passthrough">>;
467
- export type Document = z.infer<typeof DocumentSchema>;
445
+ client: z.ZodOptional<z.ZodString>;
446
+ services: z.ZodOptional<z.ZodArray<z.ZodString>>;
447
+ date_range: z.ZodOptional<z.ZodString>;
448
+ status: z.ZodDefault<z.ZodEnum<{
449
+ draft: "draft";
450
+ review: "review";
451
+ final: "final";
452
+ published: "published";
453
+ }>>;
454
+ }, z.core.$loose>;
455
+ export type CaseStudy = z.infer<typeof CaseStudySchema>;
468
456
  /**
469
- * Datasetstructured tabular data with typed columns and CSV body
457
+ * Servicethe firm's offerings + methodologies. Replaces the old
458
+ * `process` type and absorbs `practice-area` (top-level services replace
459
+ * what practice-area was trying to be).
460
+ *
461
+ * `sprint` links a granular service to its parent service (top-level
462
+ * services have none). `depends_on` / `enables` form a directed graph
463
+ * across the service set — the Graph view's most valuable use case.
470
464
  */
471
- export declare const ColumnDefinitionSchema: z.ZodObject<{
472
- name: z.ZodString;
473
- type: z.ZodEnum<["string", "number", "boolean", "date"]>;
474
- required: z.ZodOptional<z.ZodBoolean>;
475
- description: z.ZodOptional<z.ZodString>;
476
- }, "strip", z.ZodTypeAny, {
477
- type: "string" | "number" | "boolean" | "date";
478
- name: string;
479
- required?: boolean | undefined;
480
- description?: string | undefined;
481
- }, {
482
- type: "string" | "number" | "boolean" | "date";
483
- name: string;
484
- required?: boolean | undefined;
485
- description?: string | undefined;
486
- }>;
487
- export type ColumnDefinition = z.infer<typeof ColumnDefinitionSchema>;
488
- export declare const DatasetSchema: z.ZodObject<{
465
+ export declare const ServiceSchema: z.ZodObject<{
489
466
  entity_id: z.ZodString;
490
467
  created_at: z.ZodString;
491
468
  updated_at: z.ZodString;
492
469
  created_by: z.ZodString;
493
470
  updated_by: z.ZodString;
494
471
  date: z.ZodOptional<z.ZodString>;
495
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
496
- } & {
497
- entity_type: z.ZodLiteral<"dataset">;
472
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
473
+ entity_type: z.ZodLiteral<"service">;
498
474
  name: z.ZodString;
499
- schema: z.ZodArray<z.ZodObject<{
500
- name: z.ZodString;
501
- type: z.ZodEnum<["string", "number", "boolean", "date"]>;
502
- required: z.ZodOptional<z.ZodBoolean>;
503
- description: z.ZodOptional<z.ZodString>;
504
- }, "strip", z.ZodTypeAny, {
505
- type: "string" | "number" | "boolean" | "date";
506
- name: string;
507
- required?: boolean | undefined;
508
- description?: string | undefined;
509
- }, {
510
- type: "string" | "number" | "boolean" | "date";
511
- name: string;
512
- required?: boolean | undefined;
513
- description?: string | undefined;
514
- }>, "many">;
515
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
475
+ service_id: z.ZodOptional<z.ZodString>;
476
+ sprint: z.ZodOptional<z.ZodString>;
477
+ depends_on: z.ZodOptional<z.ZodArray<z.ZodString>>;
478
+ enables: z.ZodOptional<z.ZodArray<z.ZodString>>;
479
+ deliverables: z.ZodOptional<z.ZodArray<z.ZodString>>;
480
+ status: z.ZodDefault<z.ZodEnum<{
481
+ offered: "offered";
482
+ "in-development": "in-development";
483
+ retired: "retired";
484
+ }>>;
485
+ }, z.core.$loose>;
486
+ export type Service = z.infer<typeof ServiceSchema>;
487
+ /**
488
+ * Skill — prompt-level instructions the agent can load to teach it how to
489
+ * do a specific job. The entity id is the skill name used by `load_skill`.
490
+ * The body markdown is the instruction content.
491
+ *
492
+ * `applies_to` lets the agent load deck-skills when working on a deck,
493
+ * proposal-skills when on a `document.category=proposal`, etc. Empty /
494
+ * unset = generally applicable.
495
+ *
496
+ * The previous `loading: eager | on-demand` field is gone for graph-authored
497
+ * skills. Filesystem skills (shipped with the product in `src/agent/skills/`)
498
+ * keep their own loading mechanism via skill-loader.ts and orchestrator.ts.
499
+ *
500
+ * `name` and `description` are optional at creation so the sidebar new-entry
501
+ * flow works — the user fills them in afterward via the property panel.
502
+ */
503
+ export declare const SkillSchema: z.ZodObject<{
516
504
  entity_id: z.ZodString;
517
505
  created_at: z.ZodString;
518
506
  updated_at: z.ZodString;
519
507
  created_by: z.ZodString;
520
508
  updated_by: z.ZodString;
521
509
  date: z.ZodOptional<z.ZodString>;
522
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
523
- } & {
524
- entity_type: z.ZodLiteral<"dataset">;
525
- name: z.ZodString;
526
- schema: z.ZodArray<z.ZodObject<{
527
- name: z.ZodString;
528
- type: z.ZodEnum<["string", "number", "boolean", "date"]>;
529
- required: z.ZodOptional<z.ZodBoolean>;
530
- description: z.ZodOptional<z.ZodString>;
531
- }, "strip", z.ZodTypeAny, {
532
- type: "string" | "number" | "boolean" | "date";
533
- name: string;
534
- required?: boolean | undefined;
535
- description?: string | undefined;
536
- }, {
537
- type: "string" | "number" | "boolean" | "date";
538
- name: string;
539
- required?: boolean | undefined;
540
- description?: string | undefined;
541
- }>, "many">;
542
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
510
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
511
+ entity_type: z.ZodLiteral<"skill">;
512
+ name: z.ZodOptional<z.ZodString>;
513
+ description: z.ZodOptional<z.ZodString>;
514
+ applies_to: z.ZodOptional<z.ZodArray<z.ZodString>>;
515
+ }, z.core.$loose>;
516
+ export type Skill = z.infer<typeof SkillSchema>;
517
+ /**
518
+ * Note — freeform thinking, research, daily notes.
519
+ *
520
+ * Decisions migrated from the cut `decision` type land here as plain
521
+ * notes; operators may manually convert specific entries to `task` if they
522
+ * read better as work items.
523
+ */
524
+ export declare const NoteSchema: z.ZodObject<{
543
525
  entity_id: z.ZodString;
544
526
  created_at: z.ZodString;
545
527
  updated_at: z.ZodString;
546
528
  created_by: z.ZodString;
547
529
  updated_by: z.ZodString;
548
530
  date: z.ZodOptional<z.ZodString>;
549
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
550
- } & {
551
- entity_type: z.ZodLiteral<"dataset">;
531
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
532
+ entity_type: z.ZodLiteral<"note">;
552
533
  name: z.ZodString;
553
- schema: z.ZodArray<z.ZodObject<{
554
- name: z.ZodString;
555
- type: z.ZodEnum<["string", "number", "boolean", "date"]>;
556
- required: z.ZodOptional<z.ZodBoolean>;
557
- description: z.ZodOptional<z.ZodString>;
558
- }, "strip", z.ZodTypeAny, {
559
- type: "string" | "number" | "boolean" | "date";
560
- name: string;
561
- required?: boolean | undefined;
562
- description?: string | undefined;
563
- }, {
564
- type: "string" | "number" | "boolean" | "date";
565
- name: string;
566
- required?: boolean | undefined;
567
- description?: string | undefined;
568
- }>, "many">;
569
- }, z.ZodTypeAny, "passthrough">>;
570
- export type Dataset = z.infer<typeof DatasetSchema>;
571
- export type DatasetRow = Record<string, string | number | boolean | null>;
534
+ source_file: z.ZodOptional<z.ZodString>;
535
+ }, z.core.$loose>;
536
+ export type Note = z.infer<typeof NoteSchema>;
572
537
  /**
573
- * Reference — external resources and inspiration
538
+ * Reference — external resources and inspiration.
574
539
  */
575
540
  export declare const ReferenceSchema: z.ZodObject<{
576
541
  entity_id: z.ZodString;
@@ -579,1149 +544,579 @@ export declare const ReferenceSchema: z.ZodObject<{
579
544
  created_by: z.ZodString;
580
545
  updated_by: z.ZodString;
581
546
  date: z.ZodOptional<z.ZodString>;
582
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
583
- } & {
547
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
584
548
  entity_type: z.ZodLiteral<"reference">;
585
549
  name: z.ZodString;
586
550
  source: z.ZodOptional<z.ZodString>;
587
551
  link: z.ZodOptional<z.ZodString>;
588
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
552
+ }, z.core.$loose>;
553
+ export type Reference = z.infer<typeof ReferenceSchema>;
554
+ /**
555
+ * Dataset — a CSV the workspace owns, edited in a grid.
556
+ *
557
+ * Conventional CSV: the markdown body IS the data, and the header row IS the
558
+ * column list — there's no separate typed column schema. The grid editor
559
+ * (web CsvEditor) and the agent's `query_dataset` / `append_rows` tools read
560
+ * the body through CSVService (src/services/csv-service.ts), deriving columns
561
+ * from the header. Distinct from an uploaded `asset` with
562
+ * `asset_kind: 'spreadsheet'`, which is an opaque binary — a dataset is
563
+ * in-graph, queryable, and row-appendable.
564
+ */
565
+ export declare const DatasetSchema: z.ZodObject<{
589
566
  entity_id: z.ZodString;
590
567
  created_at: z.ZodString;
591
568
  updated_at: z.ZodString;
592
569
  created_by: z.ZodString;
593
570
  updated_by: z.ZodString;
594
571
  date: z.ZodOptional<z.ZodString>;
595
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
596
- } & {
597
- entity_type: z.ZodLiteral<"reference">;
572
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
573
+ entity_type: z.ZodLiteral<"dataset">;
598
574
  name: z.ZodString;
599
- source: z.ZodOptional<z.ZodString>;
600
- link: z.ZodOptional<z.ZodString>;
601
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
575
+ source_file: z.ZodOptional<z.ZodString>;
576
+ source_sheet: z.ZodOptional<z.ZodString>;
577
+ asset_ref: z.ZodOptional<z.ZodString>;
578
+ }, z.core.$loose>;
579
+ export type Dataset = z.infer<typeof DatasetSchema>;
580
+ /** One parsed CSV row: every cell is a string (columns come from the header). */
581
+ export type DatasetRow = Record<string, string>;
582
+ /**
583
+ * Material — a first-class graph entry that wraps a free-standing binary
584
+ * asset (image or opaque file: photo, logo, psd/ai/sketch/fig, video, audio,
585
+ * archive) when no better type fits. The asset-as-embed catch-all: import
586
+ * routes docx/pdf → `document`, xlsx → `dataset`, and everything else (image +
587
+ * opaque) → `material`.
588
+ *
589
+ * Distinct from `asset` (the stored bytes + `assets.db` row) and from
590
+ * `reference` (a pointer to an EXTERNAL source the workspace doesn't own).
591
+ * Under the body-embed model a material's body IS the asset: import seeds an
592
+ * inline `![name](url)` image embed (images) or a `[name](url)` download link
593
+ * (opaque binaries). No `asset_ref` frontmatter — the reference lives in the
594
+ * markdown. A hand-created material (New Entry / agent) is a notes/catalog
595
+ * entry whose body the user writes themselves.
596
+ */
597
+ export declare const MaterialSchema: z.ZodObject<{
602
598
  entity_id: z.ZodString;
603
599
  created_at: z.ZodString;
604
600
  updated_at: z.ZodString;
605
601
  created_by: z.ZodString;
606
602
  updated_by: z.ZodString;
607
603
  date: z.ZodOptional<z.ZodString>;
608
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
609
- } & {
610
- entity_type: z.ZodLiteral<"reference">;
604
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
605
+ entity_type: z.ZodLiteral<"material">;
611
606
  name: z.ZodString;
612
- source: z.ZodOptional<z.ZodString>;
613
- link: z.ZodOptional<z.ZodString>;
614
- }, z.ZodTypeAny, "passthrough">>;
615
- export type Reference = z.infer<typeof ReferenceSchema>;
607
+ category: z.ZodOptional<z.ZodEnum<{
608
+ other: "other";
609
+ design: "design";
610
+ brand: "brand";
611
+ media: "media";
612
+ archive: "archive";
613
+ }>>;
614
+ }, z.core.$loose>;
615
+ export type Material = z.infer<typeof MaterialSchema>;
616
616
  /**
617
- * Notefreeform thinking, research, scratch, daily notes
617
+ * High-level kinds for stored binaries assets.db media metadata + per-kind
618
+ * UI (icon/viewer/thumbnail). Drives `detectAssetKind` in
619
+ * src/services/assets/base.ts and the asset STORE, NOT any entity schema.
620
+ *
621
+ * The `asset` ENTITY type was retired (asset-as-embed §6 / Phase F): an
622
+ * imported binary now becomes a typed entry (material/document/dataset) that
623
+ * embeds a free-standing, folder-owned asset. The store (assets.db +
624
+ * immutable-key blobs + serving routes) stays.
618
625
  */
619
- export declare const NoteSchema: z.ZodObject<{
626
+ export declare const ASSET_KINDS: readonly ["image", "video", "audio", "pdf", "spreadsheet", "other"];
627
+ export type AssetKind = (typeof ASSET_KINDS)[number];
628
+ /**
629
+ * Comment — a threaded comment anchored to another entry. Unlike every other
630
+ * entity type, comments are NOT stored as markdown files; they live in
631
+ * `comments.db` (see `src/services/comment-service.ts`) for throughput.
632
+ * Agents see them as first-class typed entities through the virtual-entity
633
+ * adapter (`src/services/comment-virtual-entity.ts`), shared by the MCP and
634
+ * in-app agent surfaces, which is why the schema
635
+ * lives here alongside the file-backed types.
636
+ *
637
+ * The shape documents what fields the MCP envelope exposes; runtime
638
+ * validation happens inside CommentService itself.
639
+ */
640
+ export declare const CommentSchema: z.ZodObject<{
620
641
  entity_id: z.ZodString;
621
642
  created_at: z.ZodString;
622
643
  updated_at: z.ZodString;
623
644
  created_by: z.ZodString;
624
645
  updated_by: z.ZodString;
625
646
  date: z.ZodOptional<z.ZodString>;
626
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
627
- } & {
628
- entity_type: z.ZodLiteral<"note">;
629
- name: z.ZodString;
630
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
631
- entity_id: z.ZodString;
632
- created_at: z.ZodString;
633
- updated_at: z.ZodString;
634
- created_by: z.ZodString;
635
- updated_by: z.ZodString;
636
- date: z.ZodOptional<z.ZodString>;
637
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
638
- } & {
639
- entity_type: z.ZodLiteral<"note">;
640
- name: z.ZodString;
641
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
642
- entity_id: z.ZodString;
643
- created_at: z.ZodString;
644
- updated_at: z.ZodString;
645
- created_by: z.ZodString;
646
- updated_by: z.ZodString;
647
- date: z.ZodOptional<z.ZodString>;
648
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
649
- } & {
650
- entity_type: z.ZodLiteral<"note">;
651
- name: z.ZodString;
652
- }, z.ZodTypeAny, "passthrough">>;
653
- export type Note = z.infer<typeof NoteSchema>;
654
- /**
655
- * Deliverable — a scoped output promised to a client
656
- */
657
- export declare const DeliverableSchema: z.ZodObject<{
658
- entity_id: z.ZodString;
659
- created_at: z.ZodString;
660
- updated_at: z.ZodString;
661
- created_by: z.ZodString;
662
- updated_by: z.ZodString;
663
- date: z.ZodOptional<z.ZodString>;
664
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
665
- } & {
666
- entity_type: z.ZodLiteral<"deliverable">;
667
- name: z.ZodString;
668
- project: z.ZodOptional<z.ZodString>;
669
- status: z.ZodDefault<z.ZodEnum<["planned", "in-progress", "delivered", "accepted", "rejected"]>>;
670
- due_date: z.ZodOptional<z.ZodString>;
671
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
672
- entity_id: z.ZodString;
673
- created_at: z.ZodString;
674
- updated_at: z.ZodString;
675
- created_by: z.ZodString;
676
- updated_by: z.ZodString;
677
- date: z.ZodOptional<z.ZodString>;
678
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
679
- } & {
680
- entity_type: z.ZodLiteral<"deliverable">;
681
- name: z.ZodString;
682
- project: z.ZodOptional<z.ZodString>;
683
- status: z.ZodDefault<z.ZodEnum<["planned", "in-progress", "delivered", "accepted", "rejected"]>>;
684
- due_date: z.ZodOptional<z.ZodString>;
685
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
686
- entity_id: z.ZodString;
687
- created_at: z.ZodString;
688
- updated_at: z.ZodString;
689
- created_by: z.ZodString;
690
- updated_by: z.ZodString;
691
- date: z.ZodOptional<z.ZodString>;
692
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
693
- } & {
694
- entity_type: z.ZodLiteral<"deliverable">;
695
- name: z.ZodString;
696
- project: z.ZodOptional<z.ZodString>;
697
- status: z.ZodDefault<z.ZodEnum<["planned", "in-progress", "delivered", "accepted", "rejected"]>>;
698
- due_date: z.ZodOptional<z.ZodString>;
699
- }, z.ZodTypeAny, "passthrough">>;
700
- export type Deliverable = z.infer<typeof DeliverableSchema>;
701
- /**
702
- * Publication — authored content published externally
703
- */
704
- export declare const PublicationSchema: z.ZodObject<{
705
- entity_id: z.ZodString;
706
- created_at: z.ZodString;
707
- updated_at: z.ZodString;
708
- created_by: z.ZodString;
709
- updated_by: z.ZodString;
710
- date: z.ZodOptional<z.ZodString>;
711
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
712
- } & {
713
- entity_type: z.ZodLiteral<"publication">;
714
- name: z.ZodString;
715
- platform: z.ZodOptional<z.ZodString>;
716
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "scheduled", "published"]>>;
717
- url: z.ZodOptional<z.ZodString>;
718
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
719
- entity_id: z.ZodString;
720
- created_at: z.ZodString;
721
- updated_at: z.ZodString;
722
- created_by: z.ZodString;
723
- updated_by: z.ZodString;
724
- date: z.ZodOptional<z.ZodString>;
725
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
726
- } & {
727
- entity_type: z.ZodLiteral<"publication">;
728
- name: z.ZodString;
729
- platform: z.ZodOptional<z.ZodString>;
730
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "scheduled", "published"]>>;
731
- url: z.ZodOptional<z.ZodString>;
732
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
733
- entity_id: z.ZodString;
734
- created_at: z.ZodString;
735
- updated_at: z.ZodString;
736
- created_by: z.ZodString;
737
- updated_by: z.ZodString;
738
- date: z.ZodOptional<z.ZodString>;
739
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
740
- } & {
741
- entity_type: z.ZodLiteral<"publication">;
742
- name: z.ZodString;
743
- platform: z.ZodOptional<z.ZodString>;
744
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "scheduled", "published"]>>;
745
- url: z.ZodOptional<z.ZodString>;
746
- }, z.ZodTypeAny, "passthrough">>;
747
- export type Publication = z.infer<typeof PublicationSchema>;
748
- /**
749
- * Deal — pre-project opportunity in the sales pipeline
750
- */
751
- export declare const DealSchema: z.ZodObject<{
752
- entity_id: z.ZodString;
753
- created_at: z.ZodString;
754
- updated_at: z.ZodString;
755
- created_by: z.ZodString;
756
- updated_by: z.ZodString;
757
- date: z.ZodOptional<z.ZodString>;
758
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
759
- } & {
760
- entity_type: z.ZodLiteral<"deal">;
761
- name: z.ZodString;
762
- client: z.ZodOptional<z.ZodString>;
763
- contact: z.ZodOptional<z.ZodString>;
764
- stage: z.ZodDefault<z.ZodEnum<["scoping", "proposal", "negotiating", "won", "lost"]>>;
765
- deal_value: z.ZodOptional<z.ZodNumber>;
766
- expected_close: z.ZodOptional<z.ZodString>;
767
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
768
- entity_id: z.ZodString;
769
- created_at: z.ZodString;
770
- updated_at: z.ZodString;
771
- created_by: z.ZodString;
772
- updated_by: z.ZodString;
773
- date: z.ZodOptional<z.ZodString>;
774
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
775
- } & {
776
- entity_type: z.ZodLiteral<"deal">;
777
- name: z.ZodString;
778
- client: z.ZodOptional<z.ZodString>;
779
- contact: z.ZodOptional<z.ZodString>;
780
- stage: z.ZodDefault<z.ZodEnum<["scoping", "proposal", "negotiating", "won", "lost"]>>;
781
- deal_value: z.ZodOptional<z.ZodNumber>;
782
- expected_close: z.ZodOptional<z.ZodString>;
783
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
784
- entity_id: z.ZodString;
785
- created_at: z.ZodString;
786
- updated_at: z.ZodString;
787
- created_by: z.ZodString;
788
- updated_by: z.ZodString;
789
- date: z.ZodOptional<z.ZodString>;
790
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
791
- } & {
792
- entity_type: z.ZodLiteral<"deal">;
793
- name: z.ZodString;
794
- client: z.ZodOptional<z.ZodString>;
795
- contact: z.ZodOptional<z.ZodString>;
796
- stage: z.ZodDefault<z.ZodEnum<["scoping", "proposal", "negotiating", "won", "lost"]>>;
797
- deal_value: z.ZodOptional<z.ZodNumber>;
798
- expected_close: z.ZodOptional<z.ZodString>;
799
- }, z.ZodTypeAny, "passthrough">>;
800
- export type Deal = z.infer<typeof DealSchema>;
801
- /**
802
- * Process — workflows, SOPs, and methodologies
803
- */
804
- export declare const ProcessSchema: z.ZodObject<{
805
- entity_id: z.ZodString;
806
- created_at: z.ZodString;
807
- updated_at: z.ZodString;
808
- created_by: z.ZodString;
809
- updated_by: z.ZodString;
810
- date: z.ZodOptional<z.ZodString>;
811
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
812
- } & {
813
- entity_type: z.ZodLiteral<"process">;
814
- name: z.ZodString;
815
- owner: z.ZodOptional<z.ZodString>;
816
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
817
- entity_id: z.ZodString;
818
- created_at: z.ZodString;
819
- updated_at: z.ZodString;
820
- created_by: z.ZodString;
821
- updated_by: z.ZodString;
822
- date: z.ZodOptional<z.ZodString>;
823
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
824
- } & {
825
- entity_type: z.ZodLiteral<"process">;
826
- name: z.ZodString;
827
- owner: z.ZodOptional<z.ZodString>;
828
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
829
- entity_id: z.ZodString;
830
- created_at: z.ZodString;
831
- updated_at: z.ZodString;
832
- created_by: z.ZodString;
833
- updated_by: z.ZodString;
834
- date: z.ZodOptional<z.ZodString>;
835
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
836
- } & {
837
- entity_type: z.ZodLiteral<"process">;
838
- name: z.ZodString;
839
- owner: z.ZodOptional<z.ZodString>;
840
- }, z.ZodTypeAny, "passthrough">>;
841
- export type Process = z.infer<typeof ProcessSchema>;
842
- /**
843
- * Guideline — guidelines, standards, and best practices
844
- */
845
- export declare const GuidelineSchema: z.ZodObject<{
846
- entity_id: z.ZodString;
847
- created_at: z.ZodString;
848
- updated_at: z.ZodString;
849
- created_by: z.ZodString;
850
- updated_by: z.ZodString;
851
- date: z.ZodOptional<z.ZodString>;
852
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
853
- } & {
854
- entity_type: z.ZodLiteral<"guideline">;
855
- name: z.ZodString;
856
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
857
- entity_id: z.ZodString;
858
- created_at: z.ZodString;
859
- updated_at: z.ZodString;
860
- created_by: z.ZodString;
861
- updated_by: z.ZodString;
862
- date: z.ZodOptional<z.ZodString>;
863
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
864
- } & {
865
- entity_type: z.ZodLiteral<"guideline">;
866
- name: z.ZodString;
867
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
868
- entity_id: z.ZodString;
869
- created_at: z.ZodString;
870
- updated_at: z.ZodString;
871
- created_by: z.ZodString;
872
- updated_by: z.ZodString;
873
- date: z.ZodOptional<z.ZodString>;
874
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
875
- } & {
876
- entity_type: z.ZodLiteral<"guideline">;
877
- name: z.ZodString;
878
- }, z.ZodTypeAny, "passthrough">>;
879
- export type Guideline = z.infer<typeof GuidelineSchema>;
880
- /**
881
- * Case Study — portfolio narratives for completed projects
882
- */
883
- export declare const CaseStudySchema: z.ZodObject<{
884
- entity_id: z.ZodString;
885
- created_at: z.ZodString;
886
- updated_at: z.ZodString;
887
- created_by: z.ZodString;
888
- updated_by: z.ZodString;
889
- date: z.ZodOptional<z.ZodString>;
890
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
891
- } & {
892
- entity_type: z.ZodLiteral<"case-study">;
893
- name: z.ZodString;
894
- client: z.ZodOptional<z.ZodString>;
895
- date_range: z.ZodOptional<z.ZodString>;
896
- status: z.ZodOptional<z.ZodEnum<["draft", "published"]>>;
897
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
898
- entity_id: z.ZodString;
899
- created_at: z.ZodString;
900
- updated_at: z.ZodString;
901
- created_by: z.ZodString;
902
- updated_by: z.ZodString;
903
- date: z.ZodOptional<z.ZodString>;
904
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
905
- } & {
906
- entity_type: z.ZodLiteral<"case-study">;
907
- name: z.ZodString;
908
- client: z.ZodOptional<z.ZodString>;
909
- date_range: z.ZodOptional<z.ZodString>;
910
- status: z.ZodOptional<z.ZodEnum<["draft", "published"]>>;
911
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
912
- entity_id: z.ZodString;
913
- created_at: z.ZodString;
914
- updated_at: z.ZodString;
915
- created_by: z.ZodString;
916
- updated_by: z.ZodString;
917
- date: z.ZodOptional<z.ZodString>;
918
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
919
- } & {
920
- entity_type: z.ZodLiteral<"case-study">;
921
- name: z.ZodString;
922
- client: z.ZodOptional<z.ZodString>;
923
- date_range: z.ZodOptional<z.ZodString>;
924
- status: z.ZodOptional<z.ZodEnum<["draft", "published"]>>;
925
- }, z.ZodTypeAny, "passthrough">>;
926
- export type CaseStudy = z.infer<typeof CaseStudySchema>;
927
- /**
928
- * Maps entity types to their Zod schemas.
929
- * 17 built-in types. App plugins register additional types at runtime via SchemaRegistry.
930
- */
931
- export declare const ENTITY_SCHEMAS: {
932
- readonly person: z.ZodObject<{
933
- entity_id: z.ZodString;
934
- created_at: z.ZodString;
935
- updated_at: z.ZodString;
936
- created_by: z.ZodString;
937
- updated_by: z.ZodString;
938
- date: z.ZodOptional<z.ZodString>;
939
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
940
- } & {
941
- entity_type: z.ZodLiteral<"person">;
942
- name: z.ZodString;
943
- role: z.ZodOptional<z.ZodString>;
944
- status: z.ZodOptional<z.ZodEnum<["current", "former", "contractor", "client", "partner"]>>;
945
- email: z.ZodOptional<z.ZodString>;
946
- location: z.ZodOptional<z.ZodString>;
947
- organization: z.ZodOptional<z.ZodString>;
948
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
949
- entity_id: z.ZodString;
950
- created_at: z.ZodString;
951
- updated_at: z.ZodString;
952
- created_by: z.ZodString;
953
- updated_by: z.ZodString;
954
- date: z.ZodOptional<z.ZodString>;
955
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
956
- } & {
957
- entity_type: z.ZodLiteral<"person">;
958
- name: z.ZodString;
959
- role: z.ZodOptional<z.ZodString>;
960
- status: z.ZodOptional<z.ZodEnum<["current", "former", "contractor", "client", "partner"]>>;
961
- email: z.ZodOptional<z.ZodString>;
962
- location: z.ZodOptional<z.ZodString>;
963
- organization: z.ZodOptional<z.ZodString>;
964
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
965
- entity_id: z.ZodString;
966
- created_at: z.ZodString;
967
- updated_at: z.ZodString;
968
- created_by: z.ZodString;
969
- updated_by: z.ZodString;
970
- date: z.ZodOptional<z.ZodString>;
971
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
972
- } & {
973
- entity_type: z.ZodLiteral<"person">;
974
- name: z.ZodString;
975
- role: z.ZodOptional<z.ZodString>;
976
- status: z.ZodOptional<z.ZodEnum<["current", "former", "contractor", "client", "partner"]>>;
977
- email: z.ZodOptional<z.ZodString>;
978
- location: z.ZodOptional<z.ZodString>;
979
- organization: z.ZodOptional<z.ZodString>;
980
- }, z.ZodTypeAny, "passthrough">>;
981
- readonly organization: z.ZodObject<{
982
- entity_id: z.ZodString;
983
- created_at: z.ZodString;
984
- updated_at: z.ZodString;
985
- created_by: z.ZodString;
986
- updated_by: z.ZodString;
987
- date: z.ZodOptional<z.ZodString>;
988
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
989
- } & {
990
- entity_type: z.ZodLiteral<"organization">;
991
- name: z.ZodString;
992
- category: z.ZodOptional<z.ZodEnum<["client", "vendor", "partner", "prospect", "industry-body", "other"]>>;
993
- status: z.ZodDefault<z.ZodEnum<["active", "inactive", "former"]>>;
994
- industry: z.ZodOptional<z.ZodString>;
995
- website: z.ZodOptional<z.ZodString>;
996
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
997
- entity_id: z.ZodString;
998
- created_at: z.ZodString;
999
- updated_at: z.ZodString;
1000
- created_by: z.ZodString;
1001
- updated_by: z.ZodString;
1002
- date: z.ZodOptional<z.ZodString>;
1003
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1004
- } & {
1005
- entity_type: z.ZodLiteral<"organization">;
1006
- name: z.ZodString;
1007
- category: z.ZodOptional<z.ZodEnum<["client", "vendor", "partner", "prospect", "industry-body", "other"]>>;
1008
- status: z.ZodDefault<z.ZodEnum<["active", "inactive", "former"]>>;
1009
- industry: z.ZodOptional<z.ZodString>;
1010
- website: z.ZodOptional<z.ZodString>;
1011
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1012
- entity_id: z.ZodString;
1013
- created_at: z.ZodString;
1014
- updated_at: z.ZodString;
1015
- created_by: z.ZodString;
1016
- updated_by: z.ZodString;
1017
- date: z.ZodOptional<z.ZodString>;
1018
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1019
- } & {
1020
- entity_type: z.ZodLiteral<"organization">;
1021
- name: z.ZodString;
1022
- category: z.ZodOptional<z.ZodEnum<["client", "vendor", "partner", "prospect", "industry-body", "other"]>>;
1023
- status: z.ZodDefault<z.ZodEnum<["active", "inactive", "former"]>>;
1024
- industry: z.ZodOptional<z.ZodString>;
1025
- website: z.ZodOptional<z.ZodString>;
1026
- }, z.ZodTypeAny, "passthrough">>;
1027
- readonly role: z.ZodObject<{
1028
- entity_id: z.ZodString;
1029
- created_at: z.ZodString;
1030
- updated_at: z.ZodString;
1031
- created_by: z.ZodString;
1032
- updated_by: z.ZodString;
1033
- date: z.ZodOptional<z.ZodString>;
1034
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1035
- } & {
1036
- entity_type: z.ZodLiteral<"role">;
1037
- name: z.ZodString;
1038
- department: z.ZodOptional<z.ZodString>;
1039
- category: z.ZodOptional<z.ZodEnum<["staff", "contractor", "intern"]>>;
1040
- status: z.ZodDefault<z.ZodEnum<["active", "open", "filled", "archived"]>>;
1041
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1042
- entity_id: z.ZodString;
1043
- created_at: z.ZodString;
1044
- updated_at: z.ZodString;
1045
- created_by: z.ZodString;
1046
- updated_by: z.ZodString;
1047
- date: z.ZodOptional<z.ZodString>;
1048
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1049
- } & {
1050
- entity_type: z.ZodLiteral<"role">;
1051
- name: z.ZodString;
1052
- department: z.ZodOptional<z.ZodString>;
1053
- category: z.ZodOptional<z.ZodEnum<["staff", "contractor", "intern"]>>;
1054
- status: z.ZodDefault<z.ZodEnum<["active", "open", "filled", "archived"]>>;
1055
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1056
- entity_id: z.ZodString;
1057
- created_at: z.ZodString;
1058
- updated_at: z.ZodString;
1059
- created_by: z.ZodString;
1060
- updated_by: z.ZodString;
1061
- date: z.ZodOptional<z.ZodString>;
1062
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1063
- } & {
1064
- entity_type: z.ZodLiteral<"role">;
1065
- name: z.ZodString;
1066
- department: z.ZodOptional<z.ZodString>;
1067
- category: z.ZodOptional<z.ZodEnum<["staff", "contractor", "intern"]>>;
1068
- status: z.ZodDefault<z.ZodEnum<["active", "open", "filled", "archived"]>>;
1069
- }, z.ZodTypeAny, "passthrough">>;
1070
- readonly 'practice-area': z.ZodObject<{
1071
- entity_id: z.ZodString;
1072
- created_at: z.ZodString;
1073
- updated_at: z.ZodString;
1074
- created_by: z.ZodString;
1075
- updated_by: z.ZodString;
1076
- date: z.ZodOptional<z.ZodString>;
1077
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1078
- } & {
1079
- entity_type: z.ZodLiteral<"practice-area">;
1080
- name: z.ZodString;
1081
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1082
- entity_id: z.ZodString;
1083
- created_at: z.ZodString;
1084
- updated_at: z.ZodString;
1085
- created_by: z.ZodString;
1086
- updated_by: z.ZodString;
1087
- date: z.ZodOptional<z.ZodString>;
1088
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1089
- } & {
1090
- entity_type: z.ZodLiteral<"practice-area">;
1091
- name: z.ZodString;
1092
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1093
- entity_id: z.ZodString;
1094
- created_at: z.ZodString;
1095
- updated_at: z.ZodString;
1096
- created_by: z.ZodString;
1097
- updated_by: z.ZodString;
1098
- date: z.ZodOptional<z.ZodString>;
1099
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1100
- } & {
1101
- entity_type: z.ZodLiteral<"practice-area">;
1102
- name: z.ZodString;
1103
- }, z.ZodTypeAny, "passthrough">>;
1104
- readonly project: z.ZodObject<{
1105
- entity_id: z.ZodString;
1106
- created_at: z.ZodString;
1107
- updated_at: z.ZodString;
1108
- created_by: z.ZodString;
1109
- updated_by: z.ZodString;
1110
- date: z.ZodOptional<z.ZodString>;
1111
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1112
- } & {
1113
- entity_type: z.ZodLiteral<"project">;
1114
- name: z.ZodString;
1115
- category: z.ZodOptional<z.ZodEnum<["client", "internal"]>>;
1116
- project_type: z.ZodOptional<z.ZodString>;
1117
- client: z.ZodOptional<z.ZodString>;
1118
- status: z.ZodOptional<z.ZodEnum<["planning", "scoping", "active", "on-hold", "completed", "archived"]>>;
1119
- start_date: z.ZodOptional<z.ZodString>;
1120
- end_date: z.ZodOptional<z.ZodString>;
1121
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1122
- entity_id: z.ZodString;
1123
- created_at: z.ZodString;
1124
- updated_at: z.ZodString;
1125
- created_by: z.ZodString;
1126
- updated_by: z.ZodString;
1127
- date: z.ZodOptional<z.ZodString>;
1128
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1129
- } & {
1130
- entity_type: z.ZodLiteral<"project">;
1131
- name: z.ZodString;
1132
- category: z.ZodOptional<z.ZodEnum<["client", "internal"]>>;
1133
- project_type: z.ZodOptional<z.ZodString>;
1134
- client: z.ZodOptional<z.ZodString>;
1135
- status: z.ZodOptional<z.ZodEnum<["planning", "scoping", "active", "on-hold", "completed", "archived"]>>;
1136
- start_date: z.ZodOptional<z.ZodString>;
1137
- end_date: z.ZodOptional<z.ZodString>;
1138
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1139
- entity_id: z.ZodString;
1140
- created_at: z.ZodString;
1141
- updated_at: z.ZodString;
1142
- created_by: z.ZodString;
1143
- updated_by: z.ZodString;
1144
- date: z.ZodOptional<z.ZodString>;
1145
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1146
- } & {
1147
- entity_type: z.ZodLiteral<"project">;
1148
- name: z.ZodString;
1149
- category: z.ZodOptional<z.ZodEnum<["client", "internal"]>>;
1150
- project_type: z.ZodOptional<z.ZodString>;
1151
- client: z.ZodOptional<z.ZodString>;
1152
- status: z.ZodOptional<z.ZodEnum<["planning", "scoping", "active", "on-hold", "completed", "archived"]>>;
1153
- start_date: z.ZodOptional<z.ZodString>;
1154
- end_date: z.ZodOptional<z.ZodString>;
1155
- }, z.ZodTypeAny, "passthrough">>;
1156
- readonly meeting: z.ZodObject<{
647
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
648
+ entity_type: z.ZodLiteral<"comment">;
649
+ repo: z.ZodString;
650
+ entry_type: z.ZodString;
651
+ entry_id: z.ZodString;
652
+ thread_id: z.ZodString;
653
+ parent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
654
+ author_user_id: z.ZodNumber;
655
+ author_role: z.ZodEnum<{
656
+ user: "user";
657
+ agent: "agent";
658
+ }>;
659
+ anchor_quote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
660
+ resolved_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
661
+ resolved_by_user_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
662
+ edited: z.ZodOptional<z.ZodBoolean>;
663
+ mentions: z.ZodOptional<z.ZodArray<z.ZodString>>;
664
+ }, z.core.$loose>;
665
+ export type Comment = z.infer<typeof CommentSchema>;
666
+ /**
667
+ * Maps entity types to their Zod schemas. 20 canonical built-in types
668
+ * (19 user-facing + 1 system). Workspaces can register additional custom
669
+ * types via SchemaRegistry (schema_extensions).
670
+ */
671
+ export declare const ENTITY_SCHEMAS: {
672
+ readonly person: z.ZodObject<{
1157
673
  entity_id: z.ZodString;
1158
674
  created_at: z.ZodString;
1159
675
  updated_at: z.ZodString;
1160
676
  created_by: z.ZodString;
1161
677
  updated_by: z.ZodString;
1162
678
  date: z.ZodOptional<z.ZodString>;
1163
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1164
- } & {
1165
- entity_type: z.ZodLiteral<"meeting">;
679
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
680
+ entity_type: z.ZodLiteral<"person">;
1166
681
  name: z.ZodString;
1167
- attendees: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
682
+ role: z.ZodOptional<z.ZodString>;
683
+ category: z.ZodOptional<z.ZodEnum<{
684
+ employee: "employee";
685
+ contractor: "contractor";
686
+ client: "client";
687
+ partner: "partner";
688
+ other: "other";
689
+ }>>;
690
+ status: z.ZodOptional<z.ZodEnum<{
691
+ current: "current";
692
+ former: "former";
693
+ }>>;
694
+ email: z.ZodOptional<z.ZodString>;
1168
695
  location: z.ZodOptional<z.ZodString>;
1169
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
696
+ organization: z.ZodOptional<z.ZodString>;
697
+ user_handle: z.ZodOptional<z.ZodString>;
698
+ }, z.core.$loose>;
699
+ readonly organization: z.ZodObject<{
1170
700
  entity_id: z.ZodString;
1171
701
  created_at: z.ZodString;
1172
702
  updated_at: z.ZodString;
1173
703
  created_by: z.ZodString;
1174
704
  updated_by: z.ZodString;
1175
705
  date: z.ZodOptional<z.ZodString>;
1176
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1177
- } & {
1178
- entity_type: z.ZodLiteral<"meeting">;
706
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
707
+ entity_type: z.ZodLiteral<"organization">;
1179
708
  name: z.ZodString;
1180
- attendees: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1181
- location: z.ZodOptional<z.ZodString>;
1182
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
709
+ category: z.ZodOptional<z.ZodEnum<{
710
+ client: "client";
711
+ partner: "partner";
712
+ other: "other";
713
+ vendor: "vendor";
714
+ prospect: "prospect";
715
+ "professional-association": "professional-association";
716
+ }>>;
717
+ status: z.ZodDefault<z.ZodEnum<{
718
+ former: "former";
719
+ active: "active";
720
+ dormant: "dormant";
721
+ }>>;
722
+ industry: z.ZodOptional<z.ZodString>;
723
+ website: z.ZodOptional<z.ZodString>;
724
+ }, z.core.$loose>;
725
+ readonly position: z.ZodObject<{
1183
726
  entity_id: z.ZodString;
1184
727
  created_at: z.ZodString;
1185
728
  updated_at: z.ZodString;
1186
729
  created_by: z.ZodString;
1187
730
  updated_by: z.ZodString;
1188
731
  date: z.ZodOptional<z.ZodString>;
1189
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1190
- } & {
1191
- entity_type: z.ZodLiteral<"meeting">;
732
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
733
+ entity_type: z.ZodLiteral<"position">;
1192
734
  name: z.ZodString;
1193
- attendees: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1194
- location: z.ZodOptional<z.ZodString>;
1195
- }, z.ZodTypeAny, "passthrough">>;
1196
- readonly decision: z.ZodObject<{
735
+ department: z.ZodOptional<z.ZodString>;
736
+ category: z.ZodOptional<z.ZodEnum<{
737
+ contractor: "contractor";
738
+ staff: "staff";
739
+ intern: "intern";
740
+ }>>;
741
+ status: z.ZodDefault<z.ZodEnum<{
742
+ draft: "draft";
743
+ open: "open";
744
+ filled: "filled";
745
+ closed: "closed";
746
+ }>>;
747
+ }, z.core.$loose>;
748
+ readonly deal: z.ZodObject<{
1197
749
  entity_id: z.ZodString;
1198
750
  created_at: z.ZodString;
1199
751
  updated_at: z.ZodString;
1200
752
  created_by: z.ZodString;
1201
753
  updated_by: z.ZodString;
1202
- date: z.ZodOptional<z.ZodString>;
1203
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1204
- } & {
1205
- entity_type: z.ZodLiteral<"decision">;
754
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
755
+ entity_type: z.ZodLiteral<"deal">;
1206
756
  name: z.ZodString;
1207
- status: z.ZodDefault<z.ZodEnum<["proposed", "accepted", "rejected", "deprecated", "superseded"]>>;
1208
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1209
- entity_id: z.ZodString;
1210
- created_at: z.ZodString;
1211
- updated_at: z.ZodString;
1212
- created_by: z.ZodString;
1213
- updated_by: z.ZodString;
757
+ client: z.ZodOptional<z.ZodString>;
758
+ contact: z.ZodOptional<z.ZodString>;
759
+ stage: z.ZodDefault<z.ZodEnum<{
760
+ qualification: "qualification";
761
+ scoping: "scoping";
762
+ proposal: "proposal";
763
+ negotiation: "negotiation";
764
+ "pending-signature": "pending-signature";
765
+ won: "won";
766
+ lost: "lost";
767
+ }>>;
768
+ deal_value: z.ZodOptional<z.ZodNumber>;
769
+ start_date: z.ZodOptional<z.ZodString>;
1214
770
  date: z.ZodOptional<z.ZodString>;
1215
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1216
- } & {
1217
- entity_type: z.ZodLiteral<"decision">;
1218
- name: z.ZodString;
1219
- status: z.ZodDefault<z.ZodEnum<["proposed", "accepted", "rejected", "deprecated", "superseded"]>>;
1220
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
771
+ }, z.core.$loose>;
772
+ readonly project: z.ZodObject<{
1221
773
  entity_id: z.ZodString;
1222
774
  created_at: z.ZodString;
1223
775
  updated_at: z.ZodString;
1224
776
  created_by: z.ZodString;
1225
777
  updated_by: z.ZodString;
1226
- date: z.ZodOptional<z.ZodString>;
1227
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1228
- } & {
1229
- entity_type: z.ZodLiteral<"decision">;
778
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
779
+ entity_type: z.ZodLiteral<"project">;
1230
780
  name: z.ZodString;
1231
- status: z.ZodDefault<z.ZodEnum<["proposed", "accepted", "rejected", "deprecated", "superseded"]>>;
1232
- }, z.ZodTypeAny, "passthrough">>;
1233
- readonly task: z.ZodObject<{
1234
- entity_id: z.ZodString;
1235
- created_at: z.ZodString;
1236
- updated_at: z.ZodString;
1237
- created_by: z.ZodString;
1238
- updated_by: z.ZodString;
781
+ category: z.ZodOptional<z.ZodEnum<{
782
+ client: "client";
783
+ internal: "internal";
784
+ }>>;
785
+ project_type: z.ZodOptional<z.ZodString>;
786
+ client: z.ZodOptional<z.ZodString>;
787
+ services: z.ZodOptional<z.ZodArray<z.ZodString>>;
788
+ status: z.ZodOptional<z.ZodEnum<{
789
+ planning: "planning";
790
+ "in-progress": "in-progress";
791
+ paused: "paused";
792
+ complete: "complete";
793
+ archived: "archived";
794
+ }>>;
795
+ start_date: z.ZodOptional<z.ZodString>;
1239
796
  date: z.ZodOptional<z.ZodString>;
1240
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1241
- } & {
1242
- entity_type: z.ZodLiteral<"task">;
1243
- name: z.ZodString;
1244
- status: z.ZodDefault<z.ZodEnum<["open", "in-progress", "done", "cancelled"]>>;
1245
- priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "urgent"]>>;
1246
- assignee: z.ZodOptional<z.ZodString>;
1247
- due_date: z.ZodOptional<z.ZodString>;
1248
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
797
+ }, z.core.$loose>;
798
+ readonly event: z.ZodObject<{
1249
799
  entity_id: z.ZodString;
1250
800
  created_at: z.ZodString;
1251
801
  updated_at: z.ZodString;
1252
802
  created_by: z.ZodString;
1253
803
  updated_by: z.ZodString;
1254
- date: z.ZodOptional<z.ZodString>;
1255
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1256
- } & {
1257
- entity_type: z.ZodLiteral<"task">;
804
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
805
+ entity_type: z.ZodLiteral<"event">;
1258
806
  name: z.ZodString;
1259
- status: z.ZodDefault<z.ZodEnum<["open", "in-progress", "done", "cancelled"]>>;
1260
- priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "urgent"]>>;
1261
- assignee: z.ZodOptional<z.ZodString>;
1262
- due_date: z.ZodOptional<z.ZodString>;
1263
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
807
+ type: z.ZodDefault<z.ZodEnum<{
808
+ other: "other";
809
+ meeting: "meeting";
810
+ call: "call";
811
+ review: "review";
812
+ workshop: "workshop";
813
+ presentation: "presentation";
814
+ conference: "conference";
815
+ }>>;
816
+ attendees: z.ZodOptional<z.ZodArray<z.ZodString>>;
817
+ location: z.ZodOptional<z.ZodString>;
818
+ start_date: z.ZodOptional<z.ZodString>;
819
+ date: z.ZodOptional<z.ZodString>;
820
+ }, z.core.$loose>;
821
+ readonly task: z.ZodObject<{
1264
822
  entity_id: z.ZodString;
1265
823
  created_at: z.ZodString;
1266
824
  updated_at: z.ZodString;
1267
825
  created_by: z.ZodString;
1268
826
  updated_by: z.ZodString;
1269
- date: z.ZodOptional<z.ZodString>;
1270
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1271
- } & {
827
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1272
828
  entity_type: z.ZodLiteral<"task">;
1273
829
  name: z.ZodString;
1274
- status: z.ZodDefault<z.ZodEnum<["open", "in-progress", "done", "cancelled"]>>;
1275
- priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "urgent"]>>;
830
+ status: z.ZodDefault<z.ZodEnum<{
831
+ "in-progress": "in-progress";
832
+ backlog: "backlog";
833
+ todo: "todo";
834
+ "in-review": "in-review";
835
+ done: "done";
836
+ cancelled: "cancelled";
837
+ }>>;
838
+ priority: z.ZodOptional<z.ZodEnum<{
839
+ low: "low";
840
+ medium: "medium";
841
+ high: "high";
842
+ urgent: "urgent";
843
+ }>>;
1276
844
  assignee: z.ZodOptional<z.ZodString>;
1277
- due_date: z.ZodOptional<z.ZodString>;
1278
- }, z.ZodTypeAny, "passthrough">>;
1279
- readonly document: z.ZodObject<{
1280
- entity_id: z.ZodString;
1281
- created_at: z.ZodString;
1282
- updated_at: z.ZodString;
1283
- created_by: z.ZodString;
1284
- updated_by: z.ZodString;
1285
- date: z.ZodOptional<z.ZodString>;
1286
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1287
- } & {
1288
- entity_type: z.ZodLiteral<"document">;
1289
- name: z.ZodString;
1290
- category: z.ZodOptional<z.ZodEnum<["proposal", "contract", "brief", "memo", "report", "template", "other"]>>;
1291
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "final", "archived"]>>;
1292
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1293
- entity_id: z.ZodString;
1294
- created_at: z.ZodString;
1295
- updated_at: z.ZodString;
1296
- created_by: z.ZodString;
1297
- updated_by: z.ZodString;
1298
- date: z.ZodOptional<z.ZodString>;
1299
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1300
- } & {
1301
- entity_type: z.ZodLiteral<"document">;
1302
- name: z.ZodString;
1303
- category: z.ZodOptional<z.ZodEnum<["proposal", "contract", "brief", "memo", "report", "template", "other"]>>;
1304
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "final", "archived"]>>;
1305
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1306
- entity_id: z.ZodString;
1307
- created_at: z.ZodString;
1308
- updated_at: z.ZodString;
1309
- created_by: z.ZodString;
1310
- updated_by: z.ZodString;
1311
- date: z.ZodOptional<z.ZodString>;
1312
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1313
- } & {
1314
- entity_type: z.ZodLiteral<"document">;
1315
- name: z.ZodString;
1316
- category: z.ZodOptional<z.ZodEnum<["proposal", "contract", "brief", "memo", "report", "template", "other"]>>;
1317
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "final", "archived"]>>;
1318
- }, z.ZodTypeAny, "passthrough">>;
1319
- readonly dataset: z.ZodObject<{
1320
- entity_id: z.ZodString;
1321
- created_at: z.ZodString;
1322
- updated_at: z.ZodString;
1323
- created_by: z.ZodString;
1324
- updated_by: z.ZodString;
1325
- date: z.ZodOptional<z.ZodString>;
1326
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1327
- } & {
1328
- entity_type: z.ZodLiteral<"dataset">;
1329
- name: z.ZodString;
1330
- schema: z.ZodArray<z.ZodObject<{
1331
- name: z.ZodString;
1332
- type: z.ZodEnum<["string", "number", "boolean", "date"]>;
1333
- required: z.ZodOptional<z.ZodBoolean>;
1334
- description: z.ZodOptional<z.ZodString>;
1335
- }, "strip", z.ZodTypeAny, {
1336
- type: "string" | "number" | "boolean" | "date";
1337
- name: string;
1338
- required?: boolean | undefined;
1339
- description?: string | undefined;
1340
- }, {
1341
- type: "string" | "number" | "boolean" | "date";
1342
- name: string;
1343
- required?: boolean | undefined;
1344
- description?: string | undefined;
1345
- }>, "many">;
1346
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1347
- entity_id: z.ZodString;
1348
- created_at: z.ZodString;
1349
- updated_at: z.ZodString;
1350
- created_by: z.ZodString;
1351
- updated_by: z.ZodString;
1352
- date: z.ZodOptional<z.ZodString>;
1353
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1354
- } & {
1355
- entity_type: z.ZodLiteral<"dataset">;
1356
- name: z.ZodString;
1357
- schema: z.ZodArray<z.ZodObject<{
1358
- name: z.ZodString;
1359
- type: z.ZodEnum<["string", "number", "boolean", "date"]>;
1360
- required: z.ZodOptional<z.ZodBoolean>;
1361
- description: z.ZodOptional<z.ZodString>;
1362
- }, "strip", z.ZodTypeAny, {
1363
- type: "string" | "number" | "boolean" | "date";
1364
- name: string;
1365
- required?: boolean | undefined;
1366
- description?: string | undefined;
1367
- }, {
1368
- type: "string" | "number" | "boolean" | "date";
1369
- name: string;
1370
- required?: boolean | undefined;
1371
- description?: string | undefined;
1372
- }>, "many">;
1373
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1374
- entity_id: z.ZodString;
1375
- created_at: z.ZodString;
1376
- updated_at: z.ZodString;
1377
- created_by: z.ZodString;
1378
- updated_by: z.ZodString;
1379
- date: z.ZodOptional<z.ZodString>;
1380
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1381
- } & {
1382
- entity_type: z.ZodLiteral<"dataset">;
1383
- name: z.ZodString;
1384
- schema: z.ZodArray<z.ZodObject<{
1385
- name: z.ZodString;
1386
- type: z.ZodEnum<["string", "number", "boolean", "date"]>;
1387
- required: z.ZodOptional<z.ZodBoolean>;
1388
- description: z.ZodOptional<z.ZodString>;
1389
- }, "strip", z.ZodTypeAny, {
1390
- type: "string" | "number" | "boolean" | "date";
1391
- name: string;
1392
- required?: boolean | undefined;
1393
- description?: string | undefined;
1394
- }, {
1395
- type: "string" | "number" | "boolean" | "date";
1396
- name: string;
1397
- required?: boolean | undefined;
1398
- description?: string | undefined;
1399
- }>, "many">;
1400
- }, z.ZodTypeAny, "passthrough">>;
1401
- readonly reference: z.ZodObject<{
1402
- entity_id: z.ZodString;
1403
- created_at: z.ZodString;
1404
- updated_at: z.ZodString;
1405
- created_by: z.ZodString;
1406
- updated_by: z.ZodString;
1407
- date: z.ZodOptional<z.ZodString>;
1408
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1409
- } & {
1410
- entity_type: z.ZodLiteral<"reference">;
1411
- name: z.ZodString;
1412
- source: z.ZodOptional<z.ZodString>;
1413
- link: z.ZodOptional<z.ZodString>;
1414
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1415
- entity_id: z.ZodString;
1416
- created_at: z.ZodString;
1417
- updated_at: z.ZodString;
1418
- created_by: z.ZodString;
1419
- updated_by: z.ZodString;
1420
- date: z.ZodOptional<z.ZodString>;
1421
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1422
- } & {
1423
- entity_type: z.ZodLiteral<"reference">;
1424
- name: z.ZodString;
1425
- source: z.ZodOptional<z.ZodString>;
1426
- link: z.ZodOptional<z.ZodString>;
1427
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1428
- entity_id: z.ZodString;
1429
- created_at: z.ZodString;
1430
- updated_at: z.ZodString;
1431
- created_by: z.ZodString;
1432
- updated_by: z.ZodString;
1433
- date: z.ZodOptional<z.ZodString>;
1434
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1435
- } & {
1436
- entity_type: z.ZodLiteral<"reference">;
1437
- name: z.ZodString;
1438
- source: z.ZodOptional<z.ZodString>;
1439
- link: z.ZodOptional<z.ZodString>;
1440
- }, z.ZodTypeAny, "passthrough">>;
1441
- readonly note: z.ZodObject<{
1442
- entity_id: z.ZodString;
1443
- created_at: z.ZodString;
1444
- updated_at: z.ZodString;
1445
- created_by: z.ZodString;
1446
- updated_by: z.ZodString;
1447
- date: z.ZodOptional<z.ZodString>;
1448
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1449
- } & {
1450
- entity_type: z.ZodLiteral<"note">;
1451
- name: z.ZodString;
1452
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1453
- entity_id: z.ZodString;
1454
- created_at: z.ZodString;
1455
- updated_at: z.ZodString;
1456
- created_by: z.ZodString;
1457
- updated_by: z.ZodString;
1458
- date: z.ZodOptional<z.ZodString>;
1459
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1460
- } & {
1461
- entity_type: z.ZodLiteral<"note">;
1462
- name: z.ZodString;
1463
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1464
- entity_id: z.ZodString;
1465
- created_at: z.ZodString;
1466
- updated_at: z.ZodString;
1467
- created_by: z.ZodString;
1468
- updated_by: z.ZodString;
845
+ phase: z.ZodOptional<z.ZodString>;
846
+ start_date: z.ZodOptional<z.ZodString>;
1469
847
  date: z.ZodOptional<z.ZodString>;
1470
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1471
- } & {
1472
- entity_type: z.ZodLiteral<"note">;
1473
- name: z.ZodString;
1474
- }, z.ZodTypeAny, "passthrough">>;
848
+ completed_at: z.ZodOptional<z.ZodString>;
849
+ }, z.core.$loose>;
1475
850
  readonly deliverable: z.ZodObject<{
1476
851
  entity_id: z.ZodString;
1477
852
  created_at: z.ZodString;
1478
853
  updated_at: z.ZodString;
1479
854
  created_by: z.ZodString;
1480
855
  updated_by: z.ZodString;
1481
- date: z.ZodOptional<z.ZodString>;
1482
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1483
- } & {
856
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1484
857
  entity_type: z.ZodLiteral<"deliverable">;
1485
858
  name: z.ZodString;
1486
859
  project: z.ZodOptional<z.ZodString>;
1487
- status: z.ZodDefault<z.ZodEnum<["planned", "in-progress", "delivered", "accepted", "rejected"]>>;
1488
- due_date: z.ZodOptional<z.ZodString>;
1489
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1490
- entity_id: z.ZodString;
1491
- created_at: z.ZodString;
1492
- updated_at: z.ZodString;
1493
- created_by: z.ZodString;
1494
- updated_by: z.ZodString;
860
+ status: z.ZodDefault<z.ZodEnum<{
861
+ "in-progress": "in-progress";
862
+ planned: "planned";
863
+ delivered: "delivered";
864
+ accepted: "accepted";
865
+ rejected: "rejected";
866
+ }>>;
867
+ phase: z.ZodOptional<z.ZodString>;
868
+ start_date: z.ZodOptional<z.ZodString>;
1495
869
  date: z.ZodOptional<z.ZodString>;
1496
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1497
- } & {
1498
- entity_type: z.ZodLiteral<"deliverable">;
1499
- name: z.ZodString;
1500
- project: z.ZodOptional<z.ZodString>;
1501
- status: z.ZodDefault<z.ZodEnum<["planned", "in-progress", "delivered", "accepted", "rejected"]>>;
1502
- due_date: z.ZodOptional<z.ZodString>;
1503
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
870
+ }, z.core.$loose>;
871
+ readonly document: z.ZodObject<{
1504
872
  entity_id: z.ZodString;
1505
873
  created_at: z.ZodString;
1506
874
  updated_at: z.ZodString;
1507
875
  created_by: z.ZodString;
1508
876
  updated_by: z.ZodString;
1509
877
  date: z.ZodOptional<z.ZodString>;
1510
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1511
- } & {
1512
- entity_type: z.ZodLiteral<"deliverable">;
878
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
879
+ entity_type: z.ZodLiteral<"document">;
1513
880
  name: z.ZodString;
1514
- project: z.ZodOptional<z.ZodString>;
1515
- status: z.ZodDefault<z.ZodEnum<["planned", "in-progress", "delivered", "accepted", "rejected"]>>;
1516
- due_date: z.ZodOptional<z.ZodString>;
1517
- }, z.ZodTypeAny, "passthrough">>;
1518
- readonly publication: z.ZodObject<{
881
+ category: z.ZodOptional<z.ZodEnum<{
882
+ other: "other";
883
+ proposal: "proposal";
884
+ contract: "contract";
885
+ brief: "brief";
886
+ memo: "memo";
887
+ report: "report";
888
+ template: "template";
889
+ guideline: "guideline";
890
+ }>>;
891
+ status: z.ZodDefault<z.ZodEnum<{
892
+ draft: "draft";
893
+ archived: "archived";
894
+ review: "review";
895
+ final: "final";
896
+ }>>;
897
+ }, z.core.$loose>;
898
+ readonly deck: z.ZodObject<{
1519
899
  entity_id: z.ZodString;
1520
900
  created_at: z.ZodString;
1521
901
  updated_at: z.ZodString;
1522
902
  created_by: z.ZodString;
1523
903
  updated_by: z.ZodString;
1524
904
  date: z.ZodOptional<z.ZodString>;
1525
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1526
- } & {
1527
- entity_type: z.ZodLiteral<"publication">;
905
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
906
+ entity_type: z.ZodLiteral<"deck">;
1528
907
  name: z.ZodString;
1529
- platform: z.ZodOptional<z.ZodString>;
1530
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "scheduled", "published"]>>;
1531
- url: z.ZodOptional<z.ZodString>;
1532
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
908
+ audience: z.ZodOptional<z.ZodEnum<{
909
+ external: "external";
910
+ client: "client";
911
+ other: "other";
912
+ team: "team";
913
+ board: "board";
914
+ }>>;
915
+ status: z.ZodDefault<z.ZodEnum<{
916
+ draft: "draft";
917
+ archived: "archived";
918
+ review: "review";
919
+ final: "final";
920
+ }>>;
921
+ }, z.core.$loose>;
922
+ readonly artifact: z.ZodObject<{
1533
923
  entity_id: z.ZodString;
1534
924
  created_at: z.ZodString;
1535
925
  updated_at: z.ZodString;
1536
926
  created_by: z.ZodString;
1537
927
  updated_by: z.ZodString;
1538
928
  date: z.ZodOptional<z.ZodString>;
1539
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1540
- } & {
1541
- entity_type: z.ZodLiteral<"publication">;
929
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
930
+ entity_type: z.ZodLiteral<"artifact">;
1542
931
  name: z.ZodString;
1543
- platform: z.ZodOptional<z.ZodString>;
1544
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "scheduled", "published"]>>;
1545
- url: z.ZodOptional<z.ZodString>;
1546
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
932
+ kind: z.ZodDefault<z.ZodEnum<{
933
+ custom: "custom";
934
+ document: "document";
935
+ html: "html";
936
+ slides: "slides";
937
+ social: "social";
938
+ app: "app";
939
+ }>>;
940
+ status: z.ZodDefault<z.ZodEnum<{
941
+ draft: "draft";
942
+ archived: "archived";
943
+ review: "review";
944
+ final: "final";
945
+ }>>;
946
+ viewport_width: z.ZodOptional<z.ZodNumber>;
947
+ viewport_height: z.ZodOptional<z.ZodNumber>;
948
+ viewport_mode: z.ZodOptional<z.ZodEnum<{
949
+ fixed: "fixed";
950
+ responsive: "responsive";
951
+ paged: "paged";
952
+ }>>;
953
+ }, z.core.$loose>;
954
+ readonly publication: z.ZodObject<{
1547
955
  entity_id: z.ZodString;
1548
956
  created_at: z.ZodString;
1549
957
  updated_at: z.ZodString;
1550
958
  created_by: z.ZodString;
1551
959
  updated_by: z.ZodString;
1552
960
  date: z.ZodOptional<z.ZodString>;
1553
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1554
- } & {
961
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1555
962
  entity_type: z.ZodLiteral<"publication">;
1556
963
  name: z.ZodString;
1557
964
  platform: z.ZodOptional<z.ZodString>;
1558
- status: z.ZodDefault<z.ZodEnum<["draft", "review", "scheduled", "published"]>>;
965
+ status: z.ZodDefault<z.ZodEnum<{
966
+ draft: "draft";
967
+ review: "review";
968
+ scheduled: "scheduled";
969
+ published: "published";
970
+ }>>;
1559
971
  url: z.ZodOptional<z.ZodString>;
1560
- }, z.ZodTypeAny, "passthrough">>;
1561
- readonly deal: z.ZodObject<{
1562
- entity_id: z.ZodString;
1563
- created_at: z.ZodString;
1564
- updated_at: z.ZodString;
1565
- created_by: z.ZodString;
1566
- updated_by: z.ZodString;
1567
- date: z.ZodOptional<z.ZodString>;
1568
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1569
- } & {
1570
- entity_type: z.ZodLiteral<"deal">;
1571
- name: z.ZodString;
1572
- client: z.ZodOptional<z.ZodString>;
1573
- contact: z.ZodOptional<z.ZodString>;
1574
- stage: z.ZodDefault<z.ZodEnum<["scoping", "proposal", "negotiating", "won", "lost"]>>;
1575
- deal_value: z.ZodOptional<z.ZodNumber>;
1576
- expected_close: z.ZodOptional<z.ZodString>;
1577
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1578
- entity_id: z.ZodString;
1579
- created_at: z.ZodString;
1580
- updated_at: z.ZodString;
1581
- created_by: z.ZodString;
1582
- updated_by: z.ZodString;
1583
- date: z.ZodOptional<z.ZodString>;
1584
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1585
- } & {
1586
- entity_type: z.ZodLiteral<"deal">;
1587
- name: z.ZodString;
1588
- client: z.ZodOptional<z.ZodString>;
1589
- contact: z.ZodOptional<z.ZodString>;
1590
- stage: z.ZodDefault<z.ZodEnum<["scoping", "proposal", "negotiating", "won", "lost"]>>;
1591
- deal_value: z.ZodOptional<z.ZodNumber>;
1592
- expected_close: z.ZodOptional<z.ZodString>;
1593
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
972
+ }, z.core.$loose>;
973
+ readonly 'case-study': z.ZodObject<{
1594
974
  entity_id: z.ZodString;
1595
975
  created_at: z.ZodString;
1596
976
  updated_at: z.ZodString;
1597
977
  created_by: z.ZodString;
1598
978
  updated_by: z.ZodString;
1599
979
  date: z.ZodOptional<z.ZodString>;
1600
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1601
- } & {
1602
- entity_type: z.ZodLiteral<"deal">;
980
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
981
+ entity_type: z.ZodLiteral<"case-study">;
1603
982
  name: z.ZodString;
1604
983
  client: z.ZodOptional<z.ZodString>;
1605
- contact: z.ZodOptional<z.ZodString>;
1606
- stage: z.ZodDefault<z.ZodEnum<["scoping", "proposal", "negotiating", "won", "lost"]>>;
1607
- deal_value: z.ZodOptional<z.ZodNumber>;
1608
- expected_close: z.ZodOptional<z.ZodString>;
1609
- }, z.ZodTypeAny, "passthrough">>;
1610
- readonly process: z.ZodObject<{
1611
- entity_id: z.ZodString;
1612
- created_at: z.ZodString;
1613
- updated_at: z.ZodString;
1614
- created_by: z.ZodString;
1615
- updated_by: z.ZodString;
1616
- date: z.ZodOptional<z.ZodString>;
1617
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1618
- } & {
1619
- entity_type: z.ZodLiteral<"process">;
1620
- name: z.ZodString;
1621
- owner: z.ZodOptional<z.ZodString>;
1622
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1623
- entity_id: z.ZodString;
1624
- created_at: z.ZodString;
1625
- updated_at: z.ZodString;
1626
- created_by: z.ZodString;
1627
- updated_by: z.ZodString;
1628
- date: z.ZodOptional<z.ZodString>;
1629
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1630
- } & {
1631
- entity_type: z.ZodLiteral<"process">;
1632
- name: z.ZodString;
1633
- owner: z.ZodOptional<z.ZodString>;
1634
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
984
+ services: z.ZodOptional<z.ZodArray<z.ZodString>>;
985
+ date_range: z.ZodOptional<z.ZodString>;
986
+ status: z.ZodDefault<z.ZodEnum<{
987
+ draft: "draft";
988
+ review: "review";
989
+ final: "final";
990
+ published: "published";
991
+ }>>;
992
+ }, z.core.$loose>;
993
+ readonly service: z.ZodObject<{
1635
994
  entity_id: z.ZodString;
1636
995
  created_at: z.ZodString;
1637
996
  updated_at: z.ZodString;
1638
997
  created_by: z.ZodString;
1639
998
  updated_by: z.ZodString;
1640
999
  date: z.ZodOptional<z.ZodString>;
1641
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1642
- } & {
1643
- entity_type: z.ZodLiteral<"process">;
1000
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1001
+ entity_type: z.ZodLiteral<"service">;
1644
1002
  name: z.ZodString;
1645
- owner: z.ZodOptional<z.ZodString>;
1646
- }, z.ZodTypeAny, "passthrough">>;
1647
- readonly guideline: z.ZodObject<{
1003
+ service_id: z.ZodOptional<z.ZodString>;
1004
+ sprint: z.ZodOptional<z.ZodString>;
1005
+ depends_on: z.ZodOptional<z.ZodArray<z.ZodString>>;
1006
+ enables: z.ZodOptional<z.ZodArray<z.ZodString>>;
1007
+ deliverables: z.ZodOptional<z.ZodArray<z.ZodString>>;
1008
+ status: z.ZodDefault<z.ZodEnum<{
1009
+ offered: "offered";
1010
+ "in-development": "in-development";
1011
+ retired: "retired";
1012
+ }>>;
1013
+ }, z.core.$loose>;
1014
+ readonly skill: z.ZodObject<{
1648
1015
  entity_id: z.ZodString;
1649
1016
  created_at: z.ZodString;
1650
1017
  updated_at: z.ZodString;
1651
1018
  created_by: z.ZodString;
1652
1019
  updated_by: z.ZodString;
1653
1020
  date: z.ZodOptional<z.ZodString>;
1654
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1655
- } & {
1656
- entity_type: z.ZodLiteral<"guideline">;
1657
- name: z.ZodString;
1658
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1021
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1022
+ entity_type: z.ZodLiteral<"skill">;
1023
+ name: z.ZodOptional<z.ZodString>;
1024
+ description: z.ZodOptional<z.ZodString>;
1025
+ applies_to: z.ZodOptional<z.ZodArray<z.ZodString>>;
1026
+ }, z.core.$loose>;
1027
+ readonly note: z.ZodObject<{
1659
1028
  entity_id: z.ZodString;
1660
1029
  created_at: z.ZodString;
1661
1030
  updated_at: z.ZodString;
1662
1031
  created_by: z.ZodString;
1663
1032
  updated_by: z.ZodString;
1664
1033
  date: z.ZodOptional<z.ZodString>;
1665
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1666
- } & {
1667
- entity_type: z.ZodLiteral<"guideline">;
1034
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1035
+ entity_type: z.ZodLiteral<"note">;
1668
1036
  name: z.ZodString;
1669
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1037
+ source_file: z.ZodOptional<z.ZodString>;
1038
+ }, z.core.$loose>;
1039
+ readonly reference: z.ZodObject<{
1670
1040
  entity_id: z.ZodString;
1671
1041
  created_at: z.ZodString;
1672
1042
  updated_at: z.ZodString;
1673
1043
  created_by: z.ZodString;
1674
1044
  updated_by: z.ZodString;
1675
1045
  date: z.ZodOptional<z.ZodString>;
1676
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1677
- } & {
1678
- entity_type: z.ZodLiteral<"guideline">;
1046
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1047
+ entity_type: z.ZodLiteral<"reference">;
1679
1048
  name: z.ZodString;
1680
- }, z.ZodTypeAny, "passthrough">>;
1681
- readonly 'case-study': z.ZodObject<{
1049
+ source: z.ZodOptional<z.ZodString>;
1050
+ link: z.ZodOptional<z.ZodString>;
1051
+ }, z.core.$loose>;
1052
+ readonly dataset: z.ZodObject<{
1682
1053
  entity_id: z.ZodString;
1683
1054
  created_at: z.ZodString;
1684
1055
  updated_at: z.ZodString;
1685
1056
  created_by: z.ZodString;
1686
1057
  updated_by: z.ZodString;
1687
1058
  date: z.ZodOptional<z.ZodString>;
1688
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1689
- } & {
1690
- entity_type: z.ZodLiteral<"case-study">;
1059
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1060
+ entity_type: z.ZodLiteral<"dataset">;
1691
1061
  name: z.ZodString;
1692
- client: z.ZodOptional<z.ZodString>;
1693
- date_range: z.ZodOptional<z.ZodString>;
1694
- status: z.ZodOptional<z.ZodEnum<["draft", "published"]>>;
1695
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1062
+ source_file: z.ZodOptional<z.ZodString>;
1063
+ source_sheet: z.ZodOptional<z.ZodString>;
1064
+ asset_ref: z.ZodOptional<z.ZodString>;
1065
+ }, z.core.$loose>;
1066
+ readonly material: z.ZodObject<{
1696
1067
  entity_id: z.ZodString;
1697
1068
  created_at: z.ZodString;
1698
1069
  updated_at: z.ZodString;
1699
1070
  created_by: z.ZodString;
1700
1071
  updated_by: z.ZodString;
1701
1072
  date: z.ZodOptional<z.ZodString>;
1702
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1703
- } & {
1704
- entity_type: z.ZodLiteral<"case-study">;
1073
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1074
+ entity_type: z.ZodLiteral<"material">;
1705
1075
  name: z.ZodString;
1706
- client: z.ZodOptional<z.ZodString>;
1707
- date_range: z.ZodOptional<z.ZodString>;
1708
- status: z.ZodOptional<z.ZodEnum<["draft", "published"]>>;
1709
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1076
+ category: z.ZodOptional<z.ZodEnum<{
1077
+ other: "other";
1078
+ design: "design";
1079
+ brand: "brand";
1080
+ media: "media";
1081
+ archive: "archive";
1082
+ }>>;
1083
+ }, z.core.$loose>;
1084
+ readonly comment: z.ZodObject<{
1710
1085
  entity_id: z.ZodString;
1711
1086
  created_at: z.ZodString;
1712
1087
  updated_at: z.ZodString;
1713
1088
  created_by: z.ZodString;
1714
1089
  updated_by: z.ZodString;
1715
1090
  date: z.ZodOptional<z.ZodString>;
1716
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1717
- } & {
1718
- entity_type: z.ZodLiteral<"case-study">;
1719
- name: z.ZodString;
1720
- client: z.ZodOptional<z.ZodString>;
1721
- date_range: z.ZodOptional<z.ZodString>;
1722
- status: z.ZodOptional<z.ZodEnum<["draft", "published"]>>;
1723
- }, z.ZodTypeAny, "passthrough">>;
1091
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1092
+ entity_type: z.ZodLiteral<"comment">;
1093
+ repo: z.ZodString;
1094
+ entry_type: z.ZodString;
1095
+ entry_id: z.ZodString;
1096
+ thread_id: z.ZodString;
1097
+ parent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1098
+ author_user_id: z.ZodNumber;
1099
+ author_role: z.ZodEnum<{
1100
+ user: "user";
1101
+ agent: "agent";
1102
+ }>;
1103
+ anchor_quote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1104
+ resolved_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1105
+ resolved_by_user_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1106
+ edited: z.ZodOptional<z.ZodBoolean>;
1107
+ mentions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1108
+ }, z.core.$loose>;
1724
1109
  };
1110
+ /**
1111
+ * Retired entity-type names that must never be (re-)created, even if a legacy
1112
+ * workspace still carries a `schema_extensions.<name>` for them. `asset` was
1113
+ * retired in Phase F (asset-as-embed): binaries are now free-standing in
1114
+ * assets.db and embedded by typed entries (material/document/dataset), so a
1115
+ * file-backed `asset` entity would be an unvalidatable base-only stub. Enforced
1116
+ * at the entity-creation entry points (graph.changeType, the web create route,
1117
+ * and getAgentAllowedEntityTypes).
1118
+ */
1119
+ export declare const RESERVED_ENTITY_TYPES: ReadonlySet<string>;
1725
1120
  /**
1726
1121
  * Plural subfolder name → singular entity_type mapping
1727
1122
  */
@@ -1733,6 +1128,24 @@ export declare const SINGULAR_TO_PLURAL: Record<string, string>;
1733
1128
  export type EntityType = keyof typeof ENTITY_SCHEMAS;
1734
1129
  export type Entity = z.infer<typeof ENTITY_SCHEMAS[EntityType]>;
1735
1130
  export type EntityData = Entity;
1131
+ /**
1132
+ * Cross-field task rule: a task's start date must not fall after its due date.
1133
+ *
1134
+ * This lives OUTSIDE the Zod schema on purpose. Expressing it as a
1135
+ * `TaskSchema.refine(...)` would turn the ZodObject into a ZodEffects, which
1136
+ * breaks shape introspection in schema-registry (`describeZodObject` and the
1137
+ * schema_extensions `.extend()` path both rely on `instanceof z.ZodObject`) —
1138
+ * and that powers the metadata field panel. So both validation entry points
1139
+ * (this module's `validateEntity` and `graph.ts`'s private one) call this
1140
+ * helper after a successful parse instead.
1141
+ *
1142
+ * `dateField` stores ISO 'YYYY-MM-DD' strings, so a lexicographic comparison
1143
+ * is a correct date comparison.
1144
+ */
1145
+ export declare function assertValidTaskDates(data: {
1146
+ start_date?: string;
1147
+ date?: string;
1148
+ }): void;
1736
1149
  /**
1737
1150
  * Validation helper with helpful error messages
1738
1151
  */