@taskforcehq/taskforce 0.3.170 → 0.3.300

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 (696) hide show
  1. package/README.md +52 -21
  2. package/dist/Taskforce.module.css +3394 -5981
  3. package/dist/TaskforceCore.CategoryFallback.test.js +5 -2
  4. package/dist/TaskforceCore.filter-persistence.test.js +402 -0
  5. package/dist/TaskforceCore.js +388 -71
  6. package/dist/TaskforceCore.routing.test.js +311 -0
  7. package/dist/TaskforceCore.test.js +3344 -615
  8. package/dist/TaskforceWidget.js +3 -2
  9. package/dist/__tests__/localizationCatalogs.test.js +48 -31
  10. package/dist/__tests__/workflowSimulation.test.js +2 -2
  11. package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.d.ts +60 -0
  12. package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.js +324 -0
  13. package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.test.js +278 -0
  14. package/dist/annotatedAttachments/payload.d.ts +2 -0
  15. package/dist/annotatedAttachments/payload.js +54 -0
  16. package/dist/annotatedAttachments/payload.test.js +67 -0
  17. package/dist/annotatedAttachments/service.d.ts +49 -0
  18. package/dist/annotatedAttachments/service.js +121 -0
  19. package/dist/annotatedAttachments/types.d.ts +86 -0
  20. package/dist/cli.js +74 -25
  21. package/dist/compat/deploymentCompat.d.ts +12 -0
  22. package/dist/compat/deploymentCompat.js +43 -0
  23. package/dist/compat/workspaceSyncCompat.d.ts +6 -0
  24. package/dist/compat/workspaceSyncCompat.js +79 -0
  25. package/dist/compat/workspaceSyncCompat.test.js +87 -0
  26. package/dist/components/features/AgentsModule.d.ts +5 -0
  27. package/dist/components/features/AgentsModule.js +131 -0
  28. package/dist/components/features/AgentsModule.test.js +102 -0
  29. package/dist/components/features/AnnotatedAttachmentWorkspace.d.ts +24 -0
  30. package/dist/components/features/AnnotatedAttachmentWorkspace.js +1942 -0
  31. package/dist/components/features/AnnotatedAttachmentWorkspace.test.js +2831 -0
  32. package/dist/components/features/DocumentGenerateModal.js +8 -16
  33. package/dist/components/features/DocumentIndex.d.ts +3 -4
  34. package/dist/components/features/DocumentIndex.js +22 -10
  35. package/dist/components/features/DocumentViewer.d.ts +6 -2
  36. package/dist/components/features/DocumentViewer.js +1000 -18
  37. package/dist/components/features/DocumentWorkspace.d.ts +40 -2
  38. package/dist/components/features/DocumentWorkspace.js +96 -16
  39. package/dist/components/features/DocumentWorkspace.test.js +1202 -0
  40. package/dist/components/features/InitiativesModule.d.ts +22 -0
  41. package/dist/components/features/InitiativesModule.js +33 -0
  42. package/dist/components/features/TaskSettings.d.ts +41 -32
  43. package/dist/components/features/TaskSettings.js +798 -313
  44. package/dist/components/features/TaskSettings.test.js +1221 -47
  45. package/dist/components/features/WorkflowsModule.d.ts +27 -0
  46. package/dist/components/features/WorkflowsModule.js +21 -0
  47. package/dist/components/features/documentWorkspaceFilters.d.ts +10 -0
  48. package/dist/components/features/documentWorkspaceFilters.js +11 -0
  49. package/dist/components/features/settings/CategoryManager.d.ts +2 -0
  50. package/dist/components/features/settings/CategoryManager.js +15 -8
  51. package/dist/components/features/settings/PriorityManager.d.ts +18 -0
  52. package/dist/components/features/settings/PriorityManager.js +51 -0
  53. package/dist/components/features/settings/TaxonomyEditor.d.ts +2 -1
  54. package/dist/components/features/settings/TaxonomyEditor.js +41 -18
  55. package/dist/components/features/settings/TaxonomyLibraryManager.d.ts +26 -0
  56. package/dist/components/features/settings/TaxonomyLibraryManager.js +301 -0
  57. package/dist/components/features/settings/TaxonomyLibraryManager.test.js +141 -0
  58. package/dist/components/features/settings/TaxonomyManager.d.ts +35 -12
  59. package/dist/components/features/settings/TaxonomyManager.js +59 -27
  60. package/dist/components/features/settings/TypeManager.d.ts +11 -0
  61. package/dist/components/features/settings/TypeManager.js +48 -11
  62. package/dist/components/features/settings/{WorkflowEditorPrototype.d.ts → WorkflowEditor.d.ts} +2 -2
  63. package/dist/components/features/settings/{WorkflowEditorPrototype.js → WorkflowEditor.js} +3 -3
  64. package/dist/components/task/TaskActionHeader.d.ts +12 -2
  65. package/dist/components/task/TaskActionHeader.js +64 -8
  66. package/dist/components/task/TaskActionHeader.test.js +73 -0
  67. package/dist/components/task/TaskCard.d.ts +14 -16
  68. package/dist/components/task/TaskCard.js +144 -174
  69. package/dist/components/task/TaskCard.test.js +416 -64
  70. package/dist/components/task/TaskContextUpload.d.ts +6 -5
  71. package/dist/components/task/TaskContextUpload.js +199 -64
  72. package/dist/components/task/TaskContextUpload.test.js +331 -14
  73. package/dist/components/task/TaskForm.d.ts +23 -29
  74. package/dist/components/task/TaskForm.js +348 -169
  75. package/dist/components/task/TaskForm.test.js +419 -23
  76. package/dist/components/task/TaskKanban.d.ts +20 -21
  77. package/dist/components/task/TaskKanban.js +176 -316
  78. package/dist/components/task/TaskKanban.planning-drop.test.js +93 -0
  79. package/dist/components/task/TaskList.d.ts +22 -11
  80. package/dist/components/task/TaskList.js +98 -12
  81. package/dist/components/task/TaskList.test.js +206 -7
  82. package/dist/components/task/TaskReferenceBadge.d.ts +12 -0
  83. package/dist/components/task/TaskReferenceBadge.js +5 -0
  84. package/dist/components/task/TaskStatusActions.d.ts +12 -0
  85. package/dist/components/task/TaskStatusActions.js +18 -0
  86. package/dist/components/task/TaskStatusActions.test.js +45 -0
  87. package/dist/components/ui/ImageReferenceBadge.d.ts +12 -0
  88. package/dist/components/ui/ImageReferenceBadge.js +5 -0
  89. package/dist/components/ui/LevelSelector.d.ts +2 -1
  90. package/dist/components/ui/LevelSelector.js +2 -2
  91. package/dist/components/ui/Markdown.d.ts +1 -2
  92. package/dist/components/ui/Markdown.js +2 -13
  93. package/dist/components/ui/Modal.d.ts +3 -2
  94. package/dist/components/ui/Modal.js +4 -3
  95. package/dist/components/ui/MultiSelectFilter.d.ts +3 -1
  96. package/dist/components/ui/MultiSelectFilter.js +2 -2
  97. package/dist/components/ui/ReferenceBadgeButton.d.ts +13 -0
  98. package/dist/components/ui/ReferenceBadgeButton.js +6 -0
  99. package/dist/components/ui/TaxonomyDropdown.d.ts +7 -1
  100. package/dist/components/ui/TaxonomyDropdown.js +58 -23
  101. package/dist/components/ui/TopNoticeLayer.d.ts +7 -0
  102. package/dist/components/ui/TopNoticeLayer.js +14 -0
  103. package/dist/components/ui/TopNoticeLayer.test.js +25 -0
  104. package/dist/components/views/AppShellHeader.d.ts +13 -0
  105. package/dist/components/views/AppShellHeader.js +19 -0
  106. package/dist/components/views/AppShellHeader.test.js +21 -0
  107. package/dist/components/views/PlanComparisonPage.d.ts +73 -0
  108. package/dist/components/views/PlanComparisonPage.js +196 -0
  109. package/dist/components/views/PlanComparisonPage.test.js +251 -0
  110. package/dist/components/views/PlansPage.d.ts +14 -0
  111. package/dist/components/views/PlansPage.js +355 -0
  112. package/dist/components/views/StandaloneLayout.d.ts +2 -2
  113. package/dist/components/views/StandaloneLayout.js +2212 -1194
  114. package/dist/components/views/WidgetView.d.ts +2 -2
  115. package/dist/components/views/WidgetView.js +149 -43
  116. package/dist/components/views/chrome/WorkspaceChromeSections.d.ts +57 -0
  117. package/dist/components/views/chrome/WorkspaceChromeSections.js +38 -0
  118. package/dist/components/views/chrome/WorkspaceChromeSections.test.js +54 -0
  119. package/dist/components/views/chrome/workspaceChrome.d.ts +31 -0
  120. package/dist/components/views/chrome/workspaceChrome.js +108 -0
  121. package/dist/components/views/chrome/workspaceChrome.test.js +52 -0
  122. package/dist/components/views/panels/DocumentFilterToolbar.d.ts +10 -0
  123. package/dist/components/views/panels/DocumentFilterToolbar.js +7 -0
  124. package/dist/components/views/panels/DocumentFilterToolbar.test.js +19 -0
  125. package/dist/components/views/panels/FilterToolbar.d.ts +66 -0
  126. package/dist/components/views/panels/FilterToolbar.js +21 -0
  127. package/dist/components/views/panels/FilterToolbar.test.d.ts +1 -0
  128. package/dist/components/views/panels/FilterToolbar.test.js +45 -0
  129. package/dist/components/views/panels/FilterToolbarControls.d.ts +46 -0
  130. package/dist/components/views/panels/FilterToolbarControls.js +61 -0
  131. package/dist/components/views/panels/PlanningDrawer.d.ts +115 -0
  132. package/dist/components/views/panels/PlanningDrawer.js +220 -0
  133. package/dist/components/views/panels/ScheduleSidebar.d.ts +52 -0
  134. package/dist/components/views/panels/ScheduleSidebar.js +127 -0
  135. package/dist/components/views/panels/scheduleUtils.d.ts +14 -0
  136. package/dist/components/views/panels/scheduleUtils.js +79 -0
  137. package/dist/components/views/teamManagementAccess.d.ts +6 -0
  138. package/dist/components/views/teamManagementAccess.js +18 -0
  139. package/dist/components/views/teamManagementAccess.test.d.ts +1 -0
  140. package/dist/components/views/teamManagementAccess.test.js +44 -0
  141. package/dist/config/clientDeployment.d.ts +2 -0
  142. package/dist/config/clientDeployment.js +13 -0
  143. package/dist/config/cloudEnvironment.d.ts +15 -0
  144. package/dist/config/cloudEnvironment.js +60 -0
  145. package/dist/config/deployment.d.ts +20 -0
  146. package/dist/config/deployment.js +67 -0
  147. package/dist/config/deployment.test.d.ts +1 -0
  148. package/dist/config/deployment.test.js +88 -0
  149. package/dist/config/envSchema.js +36 -8
  150. package/dist/config/envSchema.test.js +28 -0
  151. package/dist/core/AiProfileService.d.ts +66 -0
  152. package/dist/core/AiProfileService.js +320 -0
  153. package/dist/core/AiProfileService.test.d.ts +1 -0
  154. package/dist/core/AiProfileService.test.js +164 -0
  155. package/dist/core/AiProfiles.test.d.ts +1 -0
  156. package/dist/core/AiProfiles.test.js +449 -0
  157. package/dist/core/AttachmentLinkService.d.ts +15 -0
  158. package/dist/core/AttachmentLinkService.js +157 -0
  159. package/dist/core/AuthTokenService.d.ts +44 -0
  160. package/dist/core/AuthTokenService.js +207 -0
  161. package/dist/core/CreatedBy.test.js +134 -6
  162. package/dist/core/DeletedTaskLifecycleService.d.ts +33 -0
  163. package/dist/core/DeletedTaskLifecycleService.js +158 -0
  164. package/dist/core/DeletedTaskTrash.test.d.ts +1 -0
  165. package/dist/core/DeletedTaskTrash.test.js +104 -0
  166. package/dist/core/EntitlementsPolicy.test.js +78 -5
  167. package/dist/core/GlobalSettingsService.d.ts +16 -0
  168. package/dist/core/GlobalSettingsService.js +370 -0
  169. package/dist/core/JsonBackupRuntime.test.d.ts +1 -0
  170. package/dist/core/JsonBackupRuntime.test.js +155 -0
  171. package/dist/core/McpTokenService.d.ts +118 -0
  172. package/dist/core/McpTokenService.js +921 -0
  173. package/dist/core/PlanEntitlementService.d.ts +201 -0
  174. package/dist/core/PlanEntitlementService.js +1442 -0
  175. package/dist/core/PlanVersionPolicy.test.d.ts +1 -0
  176. package/dist/core/PlanVersionPolicy.test.js +178 -0
  177. package/dist/core/PlanningEntities.test.d.ts +1 -0
  178. package/dist/core/PlanningEntities.test.js +95 -0
  179. package/dist/core/ScheduleFields.test.js +15 -19
  180. package/dist/core/SignupMonetizationSettings.test.d.ts +1 -0
  181. package/dist/core/SignupMonetizationSettings.test.js +159 -0
  182. package/dist/core/Stats.test.d.ts +1 -0
  183. package/dist/core/Stats.test.js +36 -0
  184. package/dist/core/SyncReconciliationService.d.ts +93 -0
  185. package/dist/core/SyncReconciliationService.js +406 -0
  186. package/dist/core/SystemAdmin.test.js +578 -13
  187. package/dist/core/TaskActivityService.d.ts +21 -0
  188. package/dist/core/TaskActivityService.js +130 -0
  189. package/dist/core/TaskAttachmentsCanonical.test.d.ts +1 -0
  190. package/dist/core/TaskAttachmentsCanonical.test.js +306 -0
  191. package/dist/core/TaskAuditTimeline.test.d.ts +1 -0
  192. package/dist/core/TaskAuditTimeline.test.js +132 -0
  193. package/dist/core/TaskTaxonomyValidation.test.js +338 -15
  194. package/dist/core/Taskforce.d.ts +930 -183
  195. package/dist/core/Taskforce.ids.test.js +252 -0
  196. package/dist/core/Taskforce.js +3848 -2532
  197. package/dist/core/Taskforce.mcpAuth.test.d.ts +1 -0
  198. package/dist/core/Taskforce.mcpAuth.test.js +343 -0
  199. package/dist/core/Taskforce.realtimeMutation.test.js +57 -2
  200. package/dist/core/TaxonomySettingsService.d.ts +18 -0
  201. package/dist/core/TaxonomySettingsService.js +162 -0
  202. package/dist/core/WorkspaceDelete.test.js +32 -13
  203. package/dist/core/WorkspaceLifecycleService.d.ts +11 -0
  204. package/dist/core/WorkspaceLifecycleService.js +88 -0
  205. package/dist/core/WorkspacePermissions.test.js +95 -0
  206. package/dist/core/WorkspacePlanMode.test.js +114 -1
  207. package/dist/core/WorkspacePreferenceService.d.ts +41 -0
  208. package/dist/core/WorkspacePreferenceService.js +246 -0
  209. package/dist/core/WorkspaceSyncSettings.test.d.ts +1 -0
  210. package/dist/core/WorkspaceSyncSettings.test.js +65 -0
  211. package/dist/core/__tests__/TaskAttachmentsCanonical.test.d.ts +1 -0
  212. package/dist/core/__tests__/TaskAttachmentsCanonical.test.js +212 -0
  213. package/dist/core/shared.d.ts +36 -0
  214. package/dist/core/shared.js +128 -0
  215. package/dist/core/types.d.ts +614 -0
  216. package/dist/core/types.js +27 -0
  217. package/dist/documentReviews/DocumentReviewCommentStore.d.ts +56 -0
  218. package/dist/documentReviews/DocumentReviewCommentStore.js +230 -0
  219. package/dist/documentReviews/DocumentReviewSessionStore.d.ts +52 -0
  220. package/dist/documentReviews/DocumentReviewSessionStore.js +193 -0
  221. package/dist/documentReviews/DocumentReviewSessionStore.test.d.ts +1 -0
  222. package/dist/documentReviews/DocumentReviewSessionStore.test.js +127 -0
  223. package/dist/documentReviews/service.d.ts +68 -0
  224. package/dist/documentReviews/service.js +210 -0
  225. package/dist/documentReviews/types.d.ts +58 -0
  226. package/dist/documentReviews/types.js +1 -0
  227. package/dist/hooks/auth/useAuthGuardPolicy.d.ts +2 -0
  228. package/dist/hooks/auth/useAuthGuardPolicy.js +1 -0
  229. package/dist/hooks/tasks/useCurrentTaskRelations.d.ts +15 -0
  230. package/dist/hooks/tasks/useCurrentTaskRelations.js +37 -0
  231. package/dist/hooks/tasks/useTaskActions.d.ts +3 -0
  232. package/dist/hooks/tasks/useTaskActions.js +2 -0
  233. package/dist/hooks/tasks/useTaskEditorNavigation.d.ts +65 -0
  234. package/dist/hooks/tasks/useTaskEditorNavigation.js +235 -0
  235. package/dist/hooks/tasks/useTaskFilters.d.ts +2 -0
  236. package/dist/hooks/tasks/useTaskFilters.js +2 -0
  237. package/dist/hooks/tasks/useTaskFormActions.d.ts +58 -0
  238. package/dist/hooks/tasks/useTaskFormActions.js +365 -0
  239. package/dist/hooks/tasks/useTaskRelationships.d.ts +16 -0
  240. package/dist/hooks/tasks/useTaskRelationships.js +64 -0
  241. package/dist/hooks/ui/useResourceExport.d.ts +19 -0
  242. package/dist/hooks/ui/useResourceExport.js +84 -0
  243. package/dist/hooks/ui/useSettingsModel.d.ts +203 -0
  244. package/dist/hooks/ui/useSettingsModel.js +125 -0
  245. package/dist/hooks/ui/useSettingsPersistence.d.ts +36 -0
  246. package/dist/hooks/ui/useSettingsPersistence.js +254 -0
  247. package/dist/hooks/ui/useSettingsTaxonomyManagement.d.ts +119 -0
  248. package/dist/hooks/ui/useSettingsTaxonomyManagement.js +536 -0
  249. package/dist/hooks/ui/useUiNotice.d.ts +1 -0
  250. package/dist/hooks/ui/useUiNotice.js +1 -0
  251. package/dist/hooks/ui/useWorkflowTemplates.d.ts +37 -0
  252. package/dist/hooks/ui/useWorkflowTemplates.js +111 -0
  253. package/dist/hooks/ui/useZenMode.d.ts +5 -0
  254. package/dist/hooks/ui/useZenMode.js +32 -0
  255. package/dist/hooks/useFilterSort.d.ts +60 -0
  256. package/dist/hooks/useFilterSort.js +362 -0
  257. package/dist/hooks/useFilterSort.test.d.ts +1 -0
  258. package/dist/hooks/useFilterSort.test.js +333 -0
  259. package/dist/hooks/useRealtimeSync.d.ts +1 -0
  260. package/dist/hooks/useRealtimeSync.js +24 -9
  261. package/dist/hooks/useRealtimeSync.test.js +28 -1
  262. package/dist/hooks/useSyncOrchestrator.aiProfiles.test.d.ts +1 -0
  263. package/dist/hooks/useSyncOrchestrator.aiProfiles.test.js +34 -0
  264. package/dist/hooks/useSyncOrchestrator.d.ts +65 -103
  265. package/dist/hooks/useSyncOrchestrator.js +1538 -670
  266. package/dist/hooks/useSyncOrchestrator.retry-closure.test.js +700 -174
  267. package/dist/hooks/useTaskData.d.ts +35 -0
  268. package/dist/hooks/useTaskData.js +239 -0
  269. package/dist/hooks/useTaskData.test.d.ts +1 -0
  270. package/dist/hooks/useTaskData.test.js +119 -0
  271. package/dist/hooks/useTaskMutations.d.ts +46 -0
  272. package/dist/hooks/useTaskMutations.js +472 -0
  273. package/dist/hooks/useTaskMutations.test.d.ts +1 -0
  274. package/dist/hooks/useTaskMutations.test.js +80 -0
  275. package/dist/hooks/useTaskforce.contract.test.d.ts +1 -0
  276. package/dist/hooks/useTaskforce.contract.test.js +7 -0
  277. package/dist/hooks/useTaskforce.d.ts +260 -295
  278. package/dist/hooks/useTaskforce.js +1954 -2623
  279. package/dist/hooks/useTaskforce.priority-filters.test.js +6 -11
  280. package/dist/hooks/useTaskforce.sync-behavior.test.d.ts +1 -0
  281. package/dist/hooks/useTaskforce.sync-behavior.test.js +1120 -0
  282. package/dist/hooks/useUiNotice.d.ts +16 -0
  283. package/dist/hooks/useUiNotice.js +49 -0
  284. package/dist/hooks/useWorkspaceSyncController.d.ts +23 -46
  285. package/dist/hooks/useWorkspaceSyncController.js +280 -461
  286. package/dist/hooks/useWorkspaceSyncController.test.js +106 -199
  287. package/dist/hooks/workspace/useTaskforceApiRouting.d.ts +8 -0
  288. package/dist/hooks/workspace/useTaskforceApiRouting.js +91 -0
  289. package/dist/hooks/workspace/useTaskforceApiRouting.test.d.ts +1 -0
  290. package/dist/hooks/workspace/useTaskforceApiRouting.test.js +60 -0
  291. package/dist/hooks/workspace/useWorkspaceSyncController.d.ts +1 -0
  292. package/dist/hooks/workspace/useWorkspaceSyncController.js +1 -0
  293. package/dist/hooks/workspace/workspaceLocalState.d.ts +30 -0
  294. package/dist/hooks/workspace/workspaceLocalState.js +101 -0
  295. package/dist/localization/locales/en-US.d.ts +1 -8
  296. package/dist/localization/locales/en-US.js +4 -11
  297. package/dist/localization/locales/es-419.js +2 -9
  298. package/dist/localization/locales/pt-BR.js +2 -9
  299. package/dist/localization/localizationCatalogs.test.d.ts +1 -0
  300. package/dist/localization/localizationCatalogs.test.js +37 -0
  301. package/dist/main.d.ts +1 -0
  302. package/dist/main.js +9 -15
  303. package/dist/mcp/clientIntegrations.d.ts +33 -0
  304. package/dist/mcp/clientIntegrations.js +199 -0
  305. package/dist/mcp/clientIntegrations.test.d.ts +1 -0
  306. package/dist/mcp/clientIntegrations.test.js +110 -0
  307. package/dist/mcp/index.d.ts +2 -0
  308. package/dist/mcp/index.js +2 -0
  309. package/dist/mcp/optionResolution.test.js +6 -2
  310. package/dist/mcp/runtime.d.ts +120 -0
  311. package/dist/mcp/runtime.js +5668 -0
  312. package/dist/mcp/runtime.test.d.ts +1 -0
  313. package/dist/mcp/runtime.test.js +3293 -0
  314. package/dist/mcp/server.js +2 -1793
  315. package/dist/mcp/structuredCommentValidation.test.d.ts +1 -0
  316. package/dist/{__tests__ → mcp}/structuredCommentValidation.test.js +1 -1
  317. package/dist/mcp/structuredDocValidation.js +1 -2
  318. package/dist/mcp/structuredDocValidation.test.d.ts +1 -0
  319. package/dist/{__tests__ → mcp}/structuredDocValidation.test.js +9 -4
  320. package/dist/mcp/toolRegistry.d.ts +570 -0
  321. package/dist/mcp/toolRegistry.js +90 -0
  322. package/dist/mcp/toolRegistry.test.d.ts +1 -0
  323. package/dist/mcp/toolRegistry.test.js +30 -0
  324. package/dist/migrations/billingSchemaParity.test.js +111 -0
  325. package/dist/migrations/taskSchemaMigrations.d.ts +5 -0
  326. package/dist/migrations/taskSchemaMigrations.js +681 -39
  327. package/dist/migrations/taskSchemaMigrations.test.d.ts +1 -0
  328. package/dist/migrations/taskSchemaMigrations.test.js +210 -0
  329. package/dist/plugins/vite.js +13 -7
  330. package/dist/public/apple-touch-icon.png +0 -0
  331. package/dist/public/archive/phoenix/apple-touch-icon.png +0 -0
  332. package/dist/public/archive/phoenix/favicon.ico +0 -0
  333. package/dist/public/archive/phoenix/site.webmanifest +1 -0
  334. package/dist/public/favicon-96x96.png +0 -0
  335. package/dist/public/favicon.ico +0 -0
  336. package/dist/public/favicon.svg +17 -0
  337. package/dist/public/site.webmanifest +21 -1
  338. package/dist/public/web-app-manifest-192x192.png +0 -0
  339. package/dist/public/web-app-manifest-512x512.png +0 -0
  340. package/dist/releaseVersion.test.d.ts +1 -0
  341. package/dist/{__tests__/releaseVersion.test.js → releaseVersion.test.js} +1 -1
  342. package/dist/resources/templates/WORKFLOW_V2_POLICY.md +1 -1
  343. package/dist/resources/templates/workflow-sources/workflowDocs.mjs +62 -52
  344. package/dist/resources/templates/workflows/collaborate.yaml +11 -5
  345. package/dist/resources/templates/workflows/do.yaml +8 -2
  346. package/dist/resources/templates/workflows/evaluate.yaml +13 -7
  347. package/dist/resources/templates/workflows/execute.yaml +40 -23
  348. package/dist/resources/templates/workflows/plan.yaml +15 -8
  349. package/dist/resources/templates/workflows/review.yaml +14 -8
  350. package/dist/runtime/appGateDefinitions.d.ts +32 -0
  351. package/dist/runtime/appGateDefinitions.js +32 -0
  352. package/dist/runtime/appGates.d.ts +29 -0
  353. package/dist/runtime/appGates.js +53 -0
  354. package/dist/runtime/appGates.test.d.ts +1 -0
  355. package/dist/runtime/appGates.test.js +42 -0
  356. package/dist/runtime/migrationFlags.d.ts +1 -0
  357. package/dist/runtime/migrationFlags.js +1 -0
  358. package/dist/server/annotatedAttachmentsRoutes.test.d.ts +1 -0
  359. package/dist/server/annotatedAttachmentsRoutes.test.js +473 -0
  360. package/dist/server/auth.js +14 -2
  361. package/dist/server/auth.test.js +21 -1
  362. package/dist/server/cors.js +11 -5
  363. package/dist/server/cors.test.js +6 -0
  364. package/dist/server/documentReviewRoutes.test.d.ts +1 -0
  365. package/dist/server/documentReviewRoutes.test.js +157 -0
  366. package/dist/server/index.cookieProxy.test.js +46 -1
  367. package/dist/server/index.d.ts +20 -0
  368. package/dist/server/index.js +168 -41
  369. package/dist/server/index.rateLimit.test.js +6 -0
  370. package/dist/server/index.test.js +133 -2
  371. package/dist/server/mockStripe.d.ts +72 -0
  372. package/dist/server/mockStripe.js +357 -0
  373. package/dist/server/realtimeSyncWs.js +4 -0
  374. package/dist/server/routes/admin.d.ts +114 -0
  375. package/dist/server/routes/admin.js +2226 -0
  376. package/dist/server/routes/annotatedAttachments.d.ts +24 -0
  377. package/dist/server/routes/annotatedAttachments.js +235 -0
  378. package/dist/server/routes/auth.d.ts +61 -0
  379. package/dist/server/routes/auth.js +1296 -0
  380. package/dist/server/{routes.billing.d.ts → routes/billing.d.ts} +3 -2
  381. package/dist/server/routes/billing.js +2001 -0
  382. package/dist/server/routes/billing.test.d.ts +1 -0
  383. package/dist/server/routes/billing.test.js +1631 -0
  384. package/dist/server/routes/documentReviews.d.ts +11 -0
  385. package/dist/server/routes/documentReviews.js +191 -0
  386. package/dist/server/routes/documents.d.ts +118 -0
  387. package/dist/server/routes/documents.js +1113 -0
  388. package/dist/server/routes/resources.d.ts +25 -0
  389. package/dist/server/routes/resources.js +225 -0
  390. package/dist/server/routes/shared.d.ts +35 -0
  391. package/dist/server/routes/shared.js +305 -0
  392. package/dist/server/routes/shared.test.d.ts +1 -0
  393. package/dist/server/routes/shared.test.js +32 -0
  394. package/dist/server/{routes.sync.d.ts → routes/sync.d.ts} +5 -5
  395. package/dist/server/routes/sync.integration.test.d.ts +1 -0
  396. package/dist/server/routes/sync.integration.test.js +2003 -0
  397. package/dist/server/routes/sync.js +3143 -0
  398. package/dist/server/routes/tasks.d.ts +72 -0
  399. package/dist/server/routes/tasks.js +1252 -0
  400. package/dist/server/routes/workspaces.d.ts +32 -0
  401. package/dist/server/routes/workspaces.js +307 -0
  402. package/dist/server/routes.d.ts +8 -9
  403. package/dist/server/routes.js +968 -4092
  404. package/dist/server/routes.test.js +9043 -2415
  405. package/dist/server/runtimeMode.d.ts +1 -1
  406. package/dist/server/runtimeMode.js +3 -18
  407. package/dist/server/runtimeMode.test.js +3 -3
  408. package/dist/server/securityHeaders.d.ts +1 -1
  409. package/dist/server/securityHeaders.js +65 -6
  410. package/dist/server/securityHeaders.test.js +40 -2
  411. package/dist/services/templateEngine.test.d.ts +1 -0
  412. package/dist/{__tests__ → services}/templateEngine.test.js +1 -1
  413. package/dist/services/templates.test.d.ts +1 -0
  414. package/dist/{__tests__ → services}/templates.test.js +1 -1
  415. package/dist/services/workflowDocumentFixtures.test.d.ts +1 -0
  416. package/dist/{__tests__ → services}/workflowDocumentFixtures.test.js +4 -4
  417. package/dist/services/workflowExportMatrix.test.d.ts +1 -0
  418. package/dist/{__tests__ → services}/workflowExportMatrix.test.js +1 -1
  419. package/dist/services/workflowExportSnapshots.test.d.ts +1 -0
  420. package/dist/services/workflowGeneration.test.d.ts +1 -0
  421. package/dist/services/workflowSimulation.test.d.ts +1 -0
  422. package/dist/services/workflowSimulation.test.js +113 -0
  423. package/dist/services/workflowV2Policy.test.d.ts +1 -0
  424. package/dist/{__tests__ → services}/workflowV2Policy.test.js +2 -2
  425. package/dist/shared/aiProfileSurfaceType.d.ts +9 -0
  426. package/dist/shared/aiProfileSurfaceType.js +49 -0
  427. package/dist/shared/customTaxonomyLibrary.d.ts +11 -0
  428. package/dist/shared/customTaxonomyLibrary.js +276 -0
  429. package/dist/shared/customTaxonomyLibrary.test.d.ts +1 -0
  430. package/dist/shared/customTaxonomyLibrary.test.js +20 -0
  431. package/dist/shared/taxonomyCatalog.d.ts +19 -0
  432. package/dist/shared/taxonomyCatalog.js +36 -0
  433. package/dist/shared/taxonomyDefaults.d.ts +29 -0
  434. package/dist/shared/taxonomyDefaults.js +26 -0
  435. package/dist/shared/taxonomyLibrary.d.ts +15 -0
  436. package/dist/shared/taxonomyLibrary.js +98 -0
  437. package/dist/shared/taxonomyLibrary.test.d.ts +1 -0
  438. package/dist/shared/taxonomyLibrary.test.js +26 -0
  439. package/dist/shared/taxonomyState.d.ts +36 -0
  440. package/dist/shared/taxonomyState.js +73 -0
  441. package/dist/shared/taxonomyState.test.d.ts +1 -0
  442. package/dist/shared/taxonomyState.test.js +71 -0
  443. package/dist/shared/workflowDefaults.d.ts +9 -0
  444. package/dist/shared/workflowDefaults.js +11 -0
  445. package/dist/storage/documentIntegrity.d.ts +2 -0
  446. package/dist/storage/documentIntegrity.js +34 -17
  447. package/dist/storage/documentPurge.d.ts +2 -1
  448. package/dist/storage/documentPurge.js +35 -8
  449. package/dist/storage/index.d.ts +4 -0
  450. package/dist/storage/index.js +2 -0
  451. package/dist/storage/objectStorage.d.ts +1 -1
  452. package/dist/storage/objectStorageClient.d.ts +6 -4
  453. package/dist/storage/objectStorageClient.js +77 -29
  454. package/dist/storage/objectStorageClient.test.d.ts +1 -0
  455. package/dist/storage/objectStorageClient.test.js +57 -0
  456. package/dist/storage/objectStorageConfig.js +3 -1
  457. package/dist/storage/objectStorageConfig.test.d.ts +1 -0
  458. package/dist/storage/objectStorageConfig.test.js +38 -0
  459. package/dist/storage/postgresAdapter.d.ts +5 -0
  460. package/dist/storage/postgresAdapter.js +2 -2
  461. package/dist/storage/postgresAdapter.test.d.ts +1 -0
  462. package/dist/storage/postgresAdapter.test.js +29 -0
  463. package/dist/storage/taskAssetStore.d.ts +7 -4
  464. package/dist/storage/taskAssetStore.js +65 -60
  465. package/dist/storage/workspaceAssetStore.d.ts +122 -0
  466. package/dist/storage/workspaceAssetStore.js +496 -0
  467. package/dist/storage/workspaceAssetStore.test.d.ts +1 -0
  468. package/dist/storage/workspaceAssetStore.test.js +501 -0
  469. package/dist/sync/cloudSyncApi.d.ts +33 -2
  470. package/dist/sync/cloudSyncApi.js +37 -15
  471. package/dist/sync/cloudSyncApi.test.js +60 -3
  472. package/dist/sync/index.d.ts +2 -0
  473. package/dist/sync/index.js +3 -0
  474. package/dist/sync/syncService.d.ts +25 -0
  475. package/dist/sync/syncService.js +184 -16
  476. package/dist/sync/syncService.test.js +289 -25
  477. package/dist/sync/workspaceRepair.d.ts +114 -0
  478. package/dist/sync/workspaceRepair.js +566 -0
  479. package/dist/sync/workspaceSyncModel.d.ts +230 -2
  480. package/dist/sync/workspaceSyncModel.js +456 -17
  481. package/dist/sync/workspaceSyncModel.test.js +642 -0
  482. package/dist/sync/workspaceSyncState.d.ts +12 -0
  483. package/dist/sync/workspaceSyncState.js +12 -0
  484. package/dist/sync/workspaceSyncSurface.d.ts +33 -0
  485. package/dist/sync/workspaceSyncSurface.js +74 -0
  486. package/dist/types.d.ts +143 -18
  487. package/dist/types.js +9 -24
  488. package/dist/ui/assets/AgentsModule-TVmCgizS.js +1 -0
  489. package/dist/ui/assets/AnnotatedAttachmentWorkspace-BaS2VwIr.css +1 -0
  490. package/dist/ui/assets/AnnotatedAttachmentWorkspace-CAyhnPeR.js +3 -0
  491. package/dist/ui/assets/DocumentWorkspace-BOCw5e4D.js +250 -0
  492. package/dist/ui/assets/DocumentWorkspace-C_8T8oz-.css +1 -0
  493. package/dist/ui/assets/InitiativesModule-CN0r02Oi.js +1 -0
  494. package/dist/ui/assets/PlansPage-BlVC_lRq.css +1 -0
  495. package/dist/ui/assets/PlansPage-FcQSNLZd.js +1 -0
  496. package/dist/ui/assets/TaskSettings-BwB9NtmJ.css +1 -0
  497. package/dist/ui/assets/TaskSettings-Cw5zYD1L.js +8 -0
  498. package/dist/ui/assets/WorkflowsModule-CY9R2zPB.js +5 -0
  499. package/dist/ui/assets/index-Bzqy5QGm.js +6 -0
  500. package/dist/ui/assets/index-DxRiI3tY.css +1 -0
  501. package/dist/ui/assets/vendor-dnd-DRzYolkg.js +5 -0
  502. package/dist/ui/assets/{vendor-icons-ZFG3SGwo.js → vendor-icons-QZyhEwgT.js} +1 -1
  503. package/dist/ui/assets/{vendor-markdown-CKYkQHfj.js → vendor-markdown-BUxTU7dS.js} +1 -1
  504. package/dist/ui/assets/vendor-react-CKJs5o3c.js +61 -0
  505. package/dist/ui/assets/vendor-router-BbWMxlnO.js +3 -0
  506. package/dist/ui/branding/logos/logo.png +0 -0
  507. package/dist/ui/branding/logos/logo_dark.svg +27 -0
  508. package/dist/ui/branding/logos/logo_favicon.svg +35 -0
  509. package/dist/ui/branding/logos/logo_light.svg +27 -0
  510. package/dist/ui/favicon/apple-touch-icon.png +0 -0
  511. package/dist/ui/favicon/archive/phoenix/apple-touch-icon.png +0 -0
  512. package/dist/ui/favicon/archive/phoenix/favicon.ico +0 -0
  513. package/dist/ui/favicon/archive/phoenix/site.webmanifest +1 -0
  514. package/dist/ui/favicon/favicon-96x96.png +0 -0
  515. package/dist/ui/favicon/favicon.ico +0 -0
  516. package/dist/ui/favicon/favicon.svg +17 -0
  517. package/dist/ui/favicon/site.webmanifest +21 -1
  518. package/dist/ui/favicon/web-app-manifest-192x192.png +0 -0
  519. package/dist/ui/favicon/web-app-manifest-512x512.png +0 -0
  520. package/dist/ui/index.html +10 -7
  521. package/dist/ui/product/screen_01.png +0 -0
  522. package/dist/ui/product/screen_02.png +0 -0
  523. package/dist/ui/product/screen_03.png +0 -0
  524. package/dist/utils/annotatedAttachments.d.ts +20 -0
  525. package/dist/utils/annotatedAttachments.js +74 -0
  526. package/dist/utils/annotatedAttachments.test.d.ts +1 -0
  527. package/dist/utils/annotatedAttachments.test.js +108 -0
  528. package/dist/utils/assignees.d.ts +26 -0
  529. package/dist/utils/assignees.js +132 -0
  530. package/dist/utils/canonicalAssetKind.d.ts +16 -0
  531. package/dist/utils/canonicalAssetKind.js +39 -0
  532. package/dist/utils/canonicalAssetKind.test.d.ts +1 -0
  533. package/dist/utils/canonicalAssetKind.test.js +24 -0
  534. package/dist/utils/coalescedRefresh.d.ts +5 -0
  535. package/dist/utils/coalescedRefresh.js +16 -0
  536. package/dist/utils/coalescedRefresh.test.d.ts +1 -0
  537. package/dist/utils/coalescedRefresh.test.js +30 -0
  538. package/dist/utils/constants.d.ts +16 -3
  539. package/dist/utils/constants.icons.test.js +2 -1
  540. package/dist/utils/constants.js +70 -13
  541. package/dist/utils/contextAssetEvents.d.ts +7 -0
  542. package/dist/utils/contextAssetEvents.js +6 -0
  543. package/dist/utils/contextFiles.d.ts +14 -3
  544. package/dist/utils/contextFiles.js +40 -8
  545. package/dist/utils/documentManagerApi.d.ts +6 -0
  546. package/dist/utils/documentManagerApi.js +19 -0
  547. package/dist/utils/documentNames.d.ts +24 -0
  548. package/dist/utils/documentNames.js +91 -0
  549. package/dist/utils/documentReferences.d.ts +9 -0
  550. package/dist/utils/documentReferences.js +11 -0
  551. package/dist/utils/entityReferences.d.ts +9 -0
  552. package/dist/utils/entityReferences.js +32 -0
  553. package/dist/utils/imageReferences.d.ts +9 -0
  554. package/dist/utils/imageReferences.js +11 -0
  555. package/dist/utils/planParser.d.ts +2 -2
  556. package/dist/utils/planParser.js +11 -11
  557. package/dist/utils/planParser.test.d.ts +1 -0
  558. package/dist/{__tests__ → utils}/planParser.test.js +22 -22
  559. package/dist/utils/planningReferences.d.ts +17 -0
  560. package/dist/utils/planningReferences.js +30 -0
  561. package/dist/utils/planningReferences.test.d.ts +1 -0
  562. package/dist/utils/planningReferences.test.js +17 -0
  563. package/dist/utils/taskActivity.d.ts +9 -0
  564. package/dist/utils/taskActivity.js +147 -0
  565. package/dist/utils/taskActivity.test.d.ts +1 -0
  566. package/dist/utils/taskActivity.test.js +34 -0
  567. package/dist/utils/taskDraftDefaults.d.ts +21 -0
  568. package/dist/utils/taskDraftDefaults.js +40 -0
  569. package/dist/utils/taskDraftDefaults.test.d.ts +1 -0
  570. package/dist/utils/taskDraftDefaults.test.js +34 -0
  571. package/dist/utils/taskNormalization.d.ts +25 -0
  572. package/dist/utils/taskNormalization.js +161 -0
  573. package/dist/utils/taskNormalization.test.d.ts +1 -0
  574. package/dist/utils/taskNormalization.test.js +158 -0
  575. package/dist/utils/taskReferences.d.ts +5 -0
  576. package/dist/utils/taskReferences.js +11 -0
  577. package/dist/utils/taskforceApiClient.d.ts +2 -0
  578. package/dist/utils/taskforceApiClient.js +101 -3
  579. package/dist/utils/taskforceApiClient.test.d.ts +1 -0
  580. package/dist/utils/taskforceApiClient.test.js +44 -0
  581. package/dist/utils/taxonomyFilterOptions.d.ts +2 -0
  582. package/dist/utils/taxonomyFilterOptions.js +17 -0
  583. package/dist/utils/taxonomyFormDefaults.d.ts +3 -0
  584. package/dist/utils/taxonomyFormDefaults.js +28 -0
  585. package/dist/utils/taxonomyFormDefaults.test.d.ts +1 -0
  586. package/dist/utils/taxonomyFormDefaults.test.js +63 -0
  587. package/dist/utils/taxonomyLifecycle.d.ts +3 -0
  588. package/dist/utils/taxonomyLifecycle.js +17 -0
  589. package/dist/utils/taxonomySorting.d.ts +7 -0
  590. package/dist/utils/taxonomySorting.js +74 -0
  591. package/dist/utils/theme.d.ts +15 -0
  592. package/dist/utils/theme.js +23 -0
  593. package/dist/utils/uiNotice.d.ts +7 -0
  594. package/dist/utils/uiNotice.js +6 -0
  595. package/dist/utils/uiNotice.test.d.ts +1 -0
  596. package/dist/utils/uiNotice.test.js +18 -0
  597. package/dist/utils/workspaceIdentity.d.ts +14 -0
  598. package/dist/utils/workspaceIdentity.js +21 -0
  599. package/dist/utils/workspaceIdentity.test.js +30 -1
  600. package/dist/utils/workspaceSyncPresentation.d.ts +20 -0
  601. package/dist/utils/workspaceSyncPresentation.js +21 -0
  602. package/dist/utils/workspaceSyncPresentation.test.d.ts +1 -0
  603. package/dist/utils/workspaceSyncPresentation.test.js +36 -0
  604. package/package.json +28 -23
  605. package/scripts/bootstrap-playwright-auth.mjs +155 -0
  606. package/scripts/check-compat-boundaries.mjs +41 -0
  607. package/scripts/check-env.ts +9 -2
  608. package/scripts/debug-login.mjs +32 -0
  609. package/scripts/migrate-planning-model.ts +233 -0
  610. package/scripts/migrate-task-data-assets.mjs +408 -0
  611. package/scripts/playwright-auth.sh +11 -0
  612. package/scripts/run-dev-proxy.sh +2 -0
  613. package/scripts/update-homebrew-formula.sh +2 -2
  614. package/scripts/with-esbuild.sh +11 -0
  615. package/src/resources/templates/WORKFLOW_V2_POLICY.md +1 -1
  616. package/src/resources/templates/workflow-sources/workflowDocs.mjs +62 -52
  617. package/src/resources/templates/workflows/collaborate.yaml +11 -5
  618. package/src/resources/templates/workflows/do.yaml +8 -2
  619. package/src/resources/templates/workflows/evaluate.yaml +13 -7
  620. package/src/resources/templates/workflows/execute.yaml +40 -23
  621. package/src/resources/templates/workflows/plan.yaml +15 -8
  622. package/src/resources/templates/workflows/review.yaml +14 -8
  623. package/dist/TaskforceScreenshot.d.ts +0 -11
  624. package/dist/TaskforceScreenshot.js +0 -113
  625. package/dist/compat/priorityCompat.d.ts +0 -2
  626. package/dist/compat/priorityCompat.js +0 -24
  627. package/dist/components/features/settings/TaxonomyManager 2.d.ts +0 -52
  628. package/dist/components/features/settings/TaxonomyManager 2.js +0 -75
  629. package/dist/components/task/TaskKanban 2.d.ts +0 -76
  630. package/dist/components/task/TaskKanban 2.js +0 -1004
  631. package/dist/components/task/TaskScreenshotSection.d.ts +0 -15
  632. package/dist/components/task/TaskScreenshotSection.js +0 -22
  633. package/dist/components/views/StandaloneLayout 2.d.ts +0 -8
  634. package/dist/components/views/StandaloneLayout 2.js +0 -1660
  635. package/dist/core/InitiativeTemplates.test.js +0 -50
  636. package/dist/core/ParentLifecycle.test.js +0 -98
  637. package/dist/migrations/clientMigrations.d.ts +0 -9
  638. package/dist/migrations/clientMigrations.js +0 -74
  639. package/dist/migrations/flags.d.ts +0 -6
  640. package/dist/migrations/flags.js +0 -8
  641. package/dist/migrations/taskMigrations.d.ts +0 -71
  642. package/dist/migrations/taskMigrations.js +0 -236
  643. package/dist/migrations/taskMigrations.test.js +0 -34
  644. package/dist/server/routes.billing.js +0 -991
  645. package/dist/server/routes.billing.test.js +0 -387
  646. package/dist/server/routes.sync.integration.test.js +0 -470
  647. package/dist/server/routes.sync.js +0 -1141
  648. package/dist/soak/syncSoakHarness.d.ts +0 -6
  649. package/dist/soak/syncSoakHarness.js +0 -10
  650. package/dist/ui/assets/index-0W5vyCpn.css +0 -1
  651. package/dist/ui/assets/index-MCZuNNfn.js +0 -23
  652. package/dist/ui/assets/logo_white_01-0Vx-iIIv.png +0 -0
  653. package/dist/ui/assets/vendor-dnd-BI1K77C1.js +0 -5
  654. package/dist/ui/assets/vendor-react-DdIDsh7f.js +0 -9
  655. package/dist/ui/assets/vendor-router-BtiNU7Dl.js +0 -3
  656. package/dist/utils/taskHierarchy.d.ts +0 -4
  657. package/dist/utils/taskHierarchy.js +0 -69
  658. package/dist/utils/taskHierarchy.test.js +0 -38
  659. package/dist/utils/taskParenting.d.ts +0 -3
  660. package/dist/utils/taskParenting.js +0 -24
  661. package/dist/utils/taskParenting.test.js +0 -21
  662. package/dist/utils/taskRelations.d.ts +0 -6
  663. package/dist/utils/taskRelations.js +0 -24
  664. package/dist/utils/taskRelations.test.js +0 -34
  665. package/scripts/check-compat-boundaries.js +0 -48
  666. /package/dist/{__tests__/planParser.test.d.ts → TaskforceCore.filter-persistence.test.d.ts} +0 -0
  667. /package/dist/{__tests__/releaseVersion.test.d.ts → TaskforceCore.routing.test.d.ts} +0 -0
  668. /package/dist/{__tests__/structuredCommentValidation.test.d.ts → annotatedAttachments/AnnotatedAttachmentSessionStore.test.d.ts} +0 -0
  669. /package/dist/{__tests__/structuredDocValidation.test.d.ts → annotatedAttachments/payload.test.d.ts} +0 -0
  670. /package/dist/{__tests__/templateEngine.test.d.ts → annotatedAttachments/types.js} +0 -0
  671. /package/dist/{__tests__/templates.test.d.ts → compat/workspaceSyncCompat.test.d.ts} +0 -0
  672. /package/dist/{__tests__/workflowDocumentFixtures.test.d.ts → components/features/AgentsModule.test.d.ts} +0 -0
  673. /package/dist/{__tests__/workflowExportMatrix.test.d.ts → components/features/AnnotatedAttachmentWorkspace.test.d.ts} +0 -0
  674. /package/dist/{__tests__/workflowExportSnapshots.test.d.ts → components/features/DocumentWorkspace.test.d.ts} +0 -0
  675. /package/dist/{__tests__/workflowGeneration.test.d.ts → components/features/settings/TaxonomyLibraryManager.test.d.ts} +0 -0
  676. /package/dist/{__tests__/workflowV2Policy.test.d.ts → components/task/TaskActionHeader.test.d.ts} +0 -0
  677. /package/dist/{core/InitiativeTemplates.test.d.ts → components/task/TaskKanban.planning-drop.test.d.ts} +0 -0
  678. /package/dist/{core/ParentLifecycle.test.d.ts → components/task/TaskStatusActions.test.d.ts} +0 -0
  679. /package/dist/{migrations/taskMigrations.test.d.ts → components/ui/TopNoticeLayer.test.d.ts} +0 -0
  680. /package/dist/{server/routes.billing.test.d.ts → components/views/AppShellHeader.test.d.ts} +0 -0
  681. /package/dist/{server/routes.sync.integration.test.d.ts → components/views/PlanComparisonPage.test.d.ts} +0 -0
  682. /package/dist/{utils/taskHierarchy.test.d.ts → components/views/chrome/WorkspaceChromeSections.test.d.ts} +0 -0
  683. /package/dist/{utils/taskParenting.test.d.ts → components/views/chrome/workspaceChrome.test.d.ts} +0 -0
  684. /package/dist/{utils/taskRelations.test.d.ts → components/views/panels/DocumentFilterToolbar.test.d.ts} +0 -0
  685. /package/dist/public/{android-chrome-192x192.png → archive/phoenix/android-chrome-192x192.png} +0 -0
  686. /package/dist/public/{android-chrome-512x512.png → archive/phoenix/android-chrome-512x512.png} +0 -0
  687. /package/dist/public/{favicon-16x16.png → archive/phoenix/favicon-16x16.png} +0 -0
  688. /package/dist/public/{favicon-32x32.png → archive/phoenix/favicon-32x32.png} +0 -0
  689. /package/dist/public/{favicon.png → archive/phoenix/favicon.png} +0 -0
  690. /package/dist/{__tests__ → services}/workflowExportSnapshots.test.js +0 -0
  691. /package/dist/{__tests__ → services}/workflowGeneration.test.js +0 -0
  692. /package/dist/ui/favicon/{android-chrome-192x192.png → archive/phoenix/android-chrome-192x192.png} +0 -0
  693. /package/dist/ui/favicon/{android-chrome-512x512.png → archive/phoenix/android-chrome-512x512.png} +0 -0
  694. /package/dist/ui/favicon/{favicon-16x16.png → archive/phoenix/favicon-16x16.png} +0 -0
  695. /package/dist/ui/favicon/{favicon-32x32.png → archive/phoenix/favicon-32x32.png} +0 -0
  696. /package/dist/ui/favicon/{favicon.png → archive/phoenix/favicon.png} +0 -0
@@ -1,4 +1,13 @@
1
1
  import type { DatabaseAdapter, DatabaseProvider } from '../storage/databaseAdapter.js';
2
+ import { WorkspaceAssetStore } from '../storage/workspaceAssetStore.js';
3
+ import { type SyncEventInput } from './SyncReconciliationService.js';
4
+ import { type FirstClassTaxonomyDisplayLabels, type WorkspaceTaxonomyState } from '../shared/taxonomyState.js';
5
+ import { type AiProfileSurfaceType } from '../shared/aiProfileSurfaceType.js';
6
+ export type { WorkspaceDeletedAssetRecord, WorkspaceDeleteSummary } from './types.js';
7
+ import type { GlobalTaskforceSettings, UserGlobalSyncSettings, WorkspaceDeleteSummary } from './types.js';
8
+ import type { AnnotatedAttachmentAnnotation, AnnotatedAttachmentPayload, AnnotatedAttachmentSession, AnnotatedAttachmentSessionRecord } from '../annotatedAttachments/types.js';
9
+ import type { DocumentReviewAnchor, DocumentReviewCommentSyncRecord, DocumentReviewSession, DocumentReviewSessionRecord, DocumentReviewSessionStatus } from '../documentReviews/types.js';
10
+ import { type TaskforceTheme } from '../utils/theme.js';
2
11
  /**
3
12
  * Taskforce Core Logic
4
13
  *
@@ -8,13 +17,76 @@ import type { DatabaseAdapter, DatabaseProvider } from '../storage/databaseAdapt
8
17
  export interface Comment {
9
18
  id: string;
10
19
  author: string;
20
+ submittedAuthor?: string;
11
21
  text: string;
12
22
  timestamp: string;
23
+ actor?: TaskActor | null;
24
+ }
25
+ export interface TaskEventChange {
26
+ from: unknown;
27
+ to: unknown;
28
+ }
29
+ export interface TaskEventDetails {
30
+ changes?: Record<string, TaskEventChange>;
31
+ [key: string]: unknown;
32
+ }
33
+ export interface TaskEvent {
34
+ id: string;
35
+ taskId: string;
36
+ workspaceId: string;
37
+ action: string;
38
+ actor: string;
39
+ actorType: 'human' | 'ai' | 'system';
40
+ createdAt: string;
41
+ details?: TaskEventDetails;
42
+ actorProfile?: TaskActor | null;
43
+ }
44
+ export interface CommentActivityItem {
45
+ id: string;
46
+ type: 'comment';
47
+ timestamp: string;
48
+ comment: Comment;
49
+ }
50
+ export interface AuditActivityItem {
51
+ id: string;
52
+ type: 'event';
53
+ timestamp: string;
54
+ event: TaskEvent;
55
+ }
56
+ export type TaskActivityItem = CommentActivityItem | AuditActivityItem;
57
+ export type DeletedTaskSource = 'ui' | 'mcp' | 'sync' | 'workspace-delete' | 'system';
58
+ export interface DeletedTaskDetails {
59
+ reason?: string | null;
60
+ [key: string]: unknown;
61
+ }
62
+ export interface DeletedTaskRecord {
63
+ id: string;
64
+ taskId: string;
65
+ workspaceId: string;
66
+ deletedAt: string;
67
+ actor: string;
68
+ actorType: 'human' | 'ai' | 'system';
69
+ source: DeletedTaskSource;
70
+ details?: DeletedTaskDetails;
71
+ taskSnapshot: TaskItem;
72
+ actorProfile?: TaskActor | null;
13
73
  }
14
74
  export type TaskStatus = 'task' | 'on-hold' | 'in-progress' | 'review' | 'done' | 'cancelled';
15
- export type TaskAssignee = 'unassigned' | 'agent' | 'user';
75
+ export type TaskAssignee = string;
76
+ export interface TaskActor {
77
+ id: string;
78
+ kind: 'human' | 'ai';
79
+ label: string;
80
+ username: string;
81
+ icon: string;
82
+ color: string;
83
+ isNamed: boolean;
84
+ meta?: Record<string, unknown>;
85
+ }
16
86
  export interface TaskItem {
17
87
  id: string;
88
+ referenceNumber?: number | null;
89
+ referenceLabel?: string;
18
90
  title: string;
19
91
  description: string | null;
20
92
  category: string;
@@ -26,40 +98,84 @@ export interface TaskItem {
26
98
  createdAt: string;
27
99
  updatedAt?: string;
28
100
  completedAt?: string | null;
29
- /** @deprecated */
101
+ /** @deprecated DO NOT USE. Use status='in-progress'. Safe to remove after v0.4.x migration gate. */
30
102
  inProgress?: boolean;
31
- /** @deprecated */
103
+ /** @deprecated DO NOT USE. Use status='review'. Safe to remove after v0.4.x migration gate. */
32
104
  readyForReview?: boolean;
33
105
  comments?: Comment[];
106
+ activity?: TaskActivityItem[];
107
+ taskEvents?: TaskEvent[];
34
108
  attachments?: Array<string | {
35
109
  path: string;
36
110
  fsPath?: string;
37
111
  caption?: string;
38
112
  timestamp?: string;
39
113
  }>;
40
- /** @deprecated Legacy input compatibility only. Use attachments. */
41
- screenshots?: Array<string | {
42
- path: string;
43
- fsPath?: string;
44
- caption?: string;
45
- timestamp?: string;
46
- }>;
47
- specialists?: string[];
48
- /** @deprecated */
114
+ /** @deprecated Use status='done'. Safe to remove after v0.4.x migration gate. */
49
115
  completed?: boolean;
50
- /** @deprecated */
116
+ /** @deprecated Use status='cancelled'. Safe to remove after v0.4.x migration gate. */
51
117
  cancelled?: boolean;
52
118
  taxonomies?: Record<string, string | string[]>;
53
119
  createdBy?: string;
120
+ createdByActor?: TaskActor | null;
54
121
  assignee?: TaskAssignee;
122
+ assigneeActor?: TaskActor | null;
55
123
  canceledReason?: string;
56
124
  isArchived?: boolean;
57
125
  scheduledDate?: string | null;
58
126
  dueDate?: string | null;
59
127
  scheduledWeekKey?: string | null;
60
128
  orderInDay?: number | null;
61
- parentTaskId?: string | null;
62
- childDisplayOrder?: number | null;
129
+ workstreamId?: string | null;
130
+ checklistItems?: ChecklistItem[];
131
+ }
132
+ export interface InitiativeItem {
133
+ id: string;
134
+ referenceNumber?: number | null;
135
+ referenceLabel?: string;
136
+ title: string;
137
+ description: string | null;
138
+ ownerId?: string | null;
139
+ comments?: Comment[];
140
+ attachments?: Array<string | {
141
+ path: string;
142
+ fsPath?: string;
143
+ caption?: string;
144
+ timestamp?: string;
145
+ }>;
146
+ createdAt: string;
147
+ updatedAt?: string;
148
+ order?: number | null;
149
+ isArchived?: boolean;
150
+ }
151
+ export interface WorkstreamItem {
152
+ id: string;
153
+ referenceNumber?: number | null;
154
+ referenceLabel?: string;
155
+ initiativeId?: string | null;
156
+ title: string;
157
+ description: string | null;
158
+ ownerId?: string | null;
159
+ comments?: Comment[];
160
+ attachments?: Array<string | {
161
+ path: string;
162
+ fsPath?: string;
163
+ caption?: string;
164
+ timestamp?: string;
165
+ }>;
166
+ createdAt: string;
167
+ updatedAt?: string;
168
+ order?: number | null;
169
+ isArchived?: boolean;
170
+ }
171
+ export interface ChecklistItem {
172
+ id: string;
173
+ taskId: string;
174
+ title: string;
175
+ isCompleted: boolean;
176
+ order: number;
177
+ createdAt: string;
178
+ updatedAt?: string;
63
179
  }
64
180
  export interface TaskWarning {
65
181
  code: string;
@@ -112,6 +228,7 @@ export declare class TaskforceRuleError extends Error {
112
228
  export interface CategoryConfig {
113
229
  value: string;
114
230
  label: string;
231
+ aliases?: string[];
115
232
  path?: string;
116
233
  paths?: string[];
117
234
  specialistFile?: string;
@@ -123,6 +240,7 @@ export interface TaskforceConfig {
123
240
  projectRoot: string;
124
241
  storagePath?: string;
125
242
  tenantId?: string;
243
+ runtimeMode?: RuntimeMode;
126
244
  database?: {
127
245
  provider?: DatabaseProvider;
128
246
  connectionString?: string;
@@ -135,6 +253,10 @@ export interface TaskFile {
135
253
  types?: Array<{
136
254
  value: string;
137
255
  label: string;
256
+ color?: string;
257
+ icon?: string;
258
+ aliases?: string[];
259
+ status?: 'active' | 'retired';
138
260
  }>;
139
261
  priorities?: Array<{
140
262
  value: number;
@@ -154,11 +276,13 @@ export interface TaskFile {
154
276
  color?: string;
155
277
  icon?: string;
156
278
  }>;
157
- theme?: 'dark' | 'light' | 'midnight';
279
+ theme?: TaskforceTheme;
158
280
  shortcut?: string;
159
281
  jsonBackupEnabled?: boolean;
282
+ manualComplexityEnabled?: boolean;
283
+ checklistDropdownEnabled?: boolean;
284
+ showTaskCardStatusLabel?: boolean;
160
285
  taxonomies?: any[];
161
- assigneeFilterEnabled?: boolean;
162
286
  };
163
287
  }
164
288
  export interface ArchiveFile {
@@ -216,64 +340,21 @@ export interface InitiativeTemplate {
216
340
  rollbackPlan: string[];
217
341
  };
218
342
  milestones: InitiativeTemplateMilestone[];
219
- defaultSpecialists?: string[];
220
- }
221
- interface GlobalTaskforceSettings {
222
- theme?: 'dark' | 'light' | 'midnight';
223
- shortcut?: string;
224
- jsonBackupEnabled?: boolean;
225
- realtimeSyncEnabled?: boolean;
226
- schedulePreferences?: {
227
- showWeekends?: boolean;
228
- isCalendarSidebarOpen?: boolean;
229
- weekStartsOn?: 'sunday' | 'monday';
230
- dailyCapacity?: {
231
- monday?: number;
232
- tuesday?: number;
233
- wednesday?: number;
234
- thursday?: number;
235
- friday?: number;
236
- saturday?: number;
237
- sunday?: number;
238
- };
239
- };
240
- email?: {
241
- provider?: 'console' | 'resend' | 'google-workspace';
242
- from?: string;
243
- replyTo?: string;
244
- providerApiKey?: string;
245
- };
246
- auth?: {
247
- allowSelfRegistration?: boolean;
248
- requireVerifiedEmail?: boolean;
249
- defaultNewUserBetaAccess?: boolean;
250
- authRateLimitEnabled?: boolean;
251
- authRateLimitMaxRequests?: number;
252
- authRateLimitWindowMs?: number;
253
- };
254
- setup?: {
255
- mode?: 'core' | 'operations';
256
- forceSetup?: boolean;
257
- forceGlobalSetup?: boolean;
258
- forceWorkspaceSetup?: boolean;
259
- };
260
- objectStorage?: {
261
- keyPrefix?: string;
262
- signedUploadTtlSeconds?: number;
263
- signedDownloadTtlSeconds?: number;
264
- };
265
343
  }
266
- interface UserGlobalSyncSettings {
267
- theme?: 'dark' | 'light' | 'midnight';
268
- operatingMode?: 'core' | 'operations';
269
- localization?: {
270
- locale?: string;
271
- weekStartsOn?: 'sunday' | 'monday';
272
- };
344
+ type WorkspaceSyncSettingsPayload = Record<string, Record<string, unknown>>;
345
+ type SignupMonetizationStrategy = 'auto_assign_default' | 'plan_selection_required';
346
+ interface SignupMonetizationSettings {
347
+ strategy: SignupMonetizationStrategy;
348
+ defaultSignupPlanVersionId: string | null;
273
349
  }
274
350
  type AccessRole = 'owner' | 'admin' | 'member' | 'read-only';
275
351
  export type SystemRole = 'system_admin' | 'user';
276
352
  type PermissionMode = 'read-only' | 'read-write';
353
+ export type McpAccessTokenScope = 'tasks:read' | 'tasks:write' | 'workspace:read';
354
+ type McpAccessTokenStatus = 'active' | 'revoked' | 'expired';
355
+ export type McpOAuthProvider = 'chatgpt' | 'claude';
356
+ type McpOAuthClientStatus = 'active' | 'revoked';
357
+ type McpOAuthGrantStatus = 'active' | 'revoked';
277
358
  interface UserAccessRecord {
278
359
  userId: string;
279
360
  workspaceId: string;
@@ -285,6 +366,7 @@ interface UserAccessRecord {
285
366
  interface UserIdentityRecord {
286
367
  userId: string;
287
368
  email: string;
369
+ displayName?: string | null;
288
370
  systemRole?: SystemRole;
289
371
  betaAccess?: boolean;
290
372
  }
@@ -301,6 +383,45 @@ interface WorkspaceUserRecord {
301
383
  updatedAt?: string | null;
302
384
  emailVerifiedAt?: string | null;
303
385
  }
386
+ export interface AiProfileRecord {
387
+ id: string;
388
+ workspaceId: string;
389
+ profileToken: string;
390
+ name: string;
391
+ username: string;
392
+ icon: string;
393
+ color: string;
394
+ description?: string | null;
395
+ role?: string | null;
396
+ provider?: string | null;
397
+ model?: string | null;
398
+ surfaceType?: AiProfileSurfaceType | null;
399
+ providerMetadata?: Record<string, unknown> | null;
400
+ createdAt: string;
401
+ updatedAt: string;
402
+ lastActiveAt?: string | null;
403
+ }
404
+ export interface ResolveAiProfileInput {
405
+ workspaceId: string;
406
+ name: string;
407
+ icon?: string;
408
+ color?: string;
409
+ description?: string | null;
410
+ role?: string | null;
411
+ provider?: string | null;
412
+ model?: string | null;
413
+ surfaceType?: AiProfileSurfaceType | null;
414
+ profileToken?: string | null;
415
+ providerMetadata?: Record<string, unknown> | null;
416
+ }
417
+ export interface ResolveAiProfileResult {
418
+ created: boolean;
419
+ profile: AiProfileRecord;
420
+ duplicateWarning?: {
421
+ existingProfileId: string;
422
+ message: string;
423
+ };
424
+ }
304
425
  interface SystemUserRecord {
305
426
  userId: string;
306
427
  email: string;
@@ -308,6 +429,10 @@ interface SystemUserRecord {
308
429
  systemRole: SystemRole;
309
430
  betaAccess: boolean;
310
431
  disabled: boolean;
432
+ planId?: string | null;
433
+ planName?: string | null;
434
+ planVersionId?: string | null;
435
+ entitlementState?: EntitlementState | null;
311
436
  createdAt?: string | null;
312
437
  updatedAt?: string | null;
313
438
  emailVerifiedAt?: string | null;
@@ -330,18 +455,6 @@ export interface UserWorkspaceRecord {
330
455
  status: string;
331
456
  betaAccess: boolean;
332
457
  }
333
- export interface WorkspaceDeletedAssetRecord {
334
- path: string;
335
- provider: 'local' | 'r2';
336
- workspaceId: string;
337
- }
338
- export interface WorkspaceDeleteSummary {
339
- deletedWorkspaceId: string;
340
- deletedTaskIds: string[];
341
- deletedDocumentPaths: string[];
342
- deletedAssets: WorkspaceDeletedAssetRecord[];
343
- counts: Record<string, number>;
344
- }
345
458
  export interface SetupStateSnapshot {
346
459
  globalSetupState: SetupState;
347
460
  workspaceSetupState: SetupState;
@@ -363,6 +476,16 @@ interface CreateTaskOptions {
363
476
  persistBackup?: boolean;
364
477
  workspaceId?: string;
365
478
  allowClientProvidedId?: boolean;
479
+ skipRecompute?: boolean;
480
+ syncUpdatedAt?: string;
481
+ actorRef?: string;
482
+ skipTaskEvents?: boolean;
483
+ }
484
+ interface DeleteTaskOptions {
485
+ persistBackup?: boolean;
486
+ actorRef?: string;
487
+ source?: DeletedTaskSource;
488
+ details?: DeletedTaskDetails;
366
489
  }
367
490
  interface AdminAuditLogRecord {
368
491
  id: string;
@@ -373,6 +496,21 @@ interface AdminAuditLogRecord {
373
496
  workspaceId: string;
374
497
  details: Record<string, unknown>;
375
498
  }
499
+ interface McpAuditLogRecord {
500
+ id: string;
501
+ ts: string;
502
+ workspaceId: string;
503
+ actorType: 'local' | 'user' | 'token' | 'oauth';
504
+ actorUserId: string;
505
+ tokenId: string | null;
506
+ toolName: string;
507
+ requestId: string | null;
508
+ ip: string | null;
509
+ userAgent: string | null;
510
+ outcome: 'allow' | 'deny' | null;
511
+ reasonCode: string | null;
512
+ details: Record<string, unknown>;
513
+ }
376
514
  export type EntitlementState = 'active' | 'trialing' | 'grace' | 'suspended' | 'canceled';
377
515
  export type PlanFeatureAccess = 'enabled' | 'disabled' | 'limited';
378
516
  export interface PlanFeatureSnapshot {
@@ -380,12 +518,21 @@ export interface PlanFeatureSnapshot {
380
518
  access: PlanFeatureAccess;
381
519
  config: Record<string, unknown>;
382
520
  }
521
+ export interface PlanFeatureCatalogItem {
522
+ featureKey: string;
523
+ label: string;
524
+ description: string;
525
+ allowedAccessModes: PlanFeatureAccess[];
526
+ configTemplate: Record<string, unknown>;
527
+ dependsOn?: string[];
528
+ }
383
529
  export interface PlanVersionSnapshot {
384
530
  planVersionId: string;
385
531
  planId: string;
386
532
  versionNumber: number;
387
533
  isDefault: boolean;
388
534
  seatLimit: number | null;
535
+ trialDays: number;
389
536
  metadata: Record<string, unknown>;
390
537
  features: Record<string, PlanFeatureSnapshot>;
391
538
  }
@@ -426,20 +573,200 @@ interface PasswordAuthResult {
426
573
  };
427
574
  code?: 'INVALID_CREDENTIALS' | 'EMAIL_NOT_VERIFIED';
428
575
  }
429
- export declare class TaskforceCore {
576
+ export interface McpAccessTokenRecord {
577
+ id: string;
578
+ workspaceId: string;
579
+ userId: string;
580
+ userEmail?: string | null;
581
+ name: string;
582
+ scopes: McpAccessTokenScope[];
583
+ tokenPrefix: string;
584
+ status: McpAccessTokenStatus;
585
+ lastUsedAt?: string | null;
586
+ lastUsedIp?: string | null;
587
+ lastUsedUserAgent?: string | null;
588
+ createdByIp?: string | null;
589
+ expiresAt?: string | null;
590
+ revokedAt?: string | null;
591
+ revokedByUserId?: string | null;
592
+ createdAt: string;
593
+ updatedAt?: string | null;
594
+ }
595
+ export interface McpAccessTokenListResult {
596
+ items: McpAccessTokenRecord[];
597
+ total: number;
598
+ page: number;
599
+ pageSize: number;
600
+ }
601
+ export interface McpAccessTokenIssueResult {
602
+ token: string;
603
+ record: McpAccessTokenRecord;
604
+ }
605
+ export interface McpAccessTokenAuthResult {
606
+ tokenId: string;
607
+ workspaceId: string;
608
+ userId: string;
609
+ scopes: McpAccessTokenScope[];
610
+ status: McpAccessTokenStatus;
611
+ }
612
+ export interface McpAccessTokenInspectionResult {
613
+ tokenId: string;
614
+ tokenPrefix: string;
615
+ workspaceId: string;
616
+ userId: string;
617
+ name: string;
618
+ scopes: McpAccessTokenScope[];
619
+ status: McpAccessTokenStatus;
620
+ }
621
+ export interface McpOAuthClientRecord {
622
+ id: string;
623
+ provider: McpOAuthProvider;
624
+ clientName: string;
625
+ redirectUris: string[];
626
+ status: McpOAuthClientStatus;
627
+ createdAt: string;
628
+ updatedAt?: string | null;
629
+ }
630
+ export interface McpOAuthConnectorGrantRecord {
631
+ id: string;
632
+ provider: McpOAuthProvider;
633
+ clientId: string;
634
+ clientName: string;
635
+ workspaceId: string;
636
+ userId: string;
637
+ scopes: McpAccessTokenScope[];
638
+ tokenPrefix: string;
639
+ status: McpOAuthGrantStatus;
640
+ lastUsedAt?: string | null;
641
+ revokedAt?: string | null;
642
+ revokedByUserId?: string | null;
643
+ createdAt: string;
644
+ updatedAt?: string | null;
645
+ }
646
+ export interface McpOAuthTokenExchangeResult {
647
+ accessToken: string;
648
+ tokenType: 'Bearer';
649
+ scopes: McpAccessTokenScope[];
650
+ grant: McpOAuthConnectorGrantRecord;
651
+ }
652
+ export interface McpOAuthAccessTokenAuthResult {
653
+ grantId: string;
654
+ workspaceId: string;
655
+ userId: string;
656
+ clientId: string;
657
+ provider: McpOAuthProvider;
658
+ scopes: McpAccessTokenScope[];
659
+ status: McpOAuthGrantStatus;
660
+ }
661
+ /**
662
+ * Subset of TaskforceCore methods required by the sync route.
663
+ * Declared as a separate interface so sync.ts can call these methods with full
664
+ * type safety instead of relying on `(core as any)` casts.
665
+ */
666
+ export interface TaskforceSyncCapable {
667
+ readPushIdempotency(workspaceId: string, idempotencyKey: string): string | null;
668
+ writePushIdempotency(workspaceId: string, idempotencyKey: string, payload: string): void;
669
+ getDatabaseAdapter(): DatabaseAdapter;
670
+ getTenantId(): string;
671
+ getDocumentWatermark(workspaceId: string, docPath: string): {
672
+ updatedAt: string;
673
+ contentHash: string;
674
+ } | null;
675
+ upsertDocumentWatermark(workspaceId: string, docPath: string, contentHash: string, updatedAt: string): void;
676
+ deleteDocumentWatermark(workspaceId: string, docPath: string): void;
677
+ onRealtimeMutation(listener: (event: RealtimeMutationEvent) => void): () => void;
678
+ deleteTaskForSync(id: string, workspaceId?: string, options?: {
679
+ persistBackup?: boolean;
680
+ }): boolean;
681
+ notifyDocumentMetadataMutation(workspaceId: string, entityIds: string[], changeType?: 'upsert' | 'delete'): void;
682
+ listTasksForSync(workspaceId: string | undefined, cursor: {
683
+ watermark: string;
684
+ id: string;
685
+ } | null, limit: number): Array<{
686
+ task: any;
687
+ archived: boolean;
688
+ }>;
689
+ listWorkspaceSyncDeletesSince(workspaceId: string | undefined, cursor: {
690
+ watermark: string;
691
+ id: string;
692
+ } | null, limit: number): Array<{
693
+ taskId: string;
694
+ deletedAt: string;
695
+ }>;
696
+ listWorkspaceSyncDeletes(workspaceId?: string): Array<{
697
+ taskId: string;
698
+ deletedAt: string;
699
+ }>;
700
+ getTaxonomiesSyncSnapshot(workspaceId?: string): {
701
+ taxonomies: any[];
702
+ taxonomyState: WorkspaceTaxonomyState;
703
+ updatedAt: string;
704
+ };
705
+ listInitiatives(workspaceId?: string): InitiativeItem[];
706
+ listWorkstreams(workspaceId?: string): WorkstreamItem[];
707
+ listAiProfiles(workspaceId: string): AiProfileRecord[];
708
+ listWorkspaceUsers(workspaceId: string): WorkspaceUserRecord[];
709
+ listDocumentReviewSessionsForSync(input: {
710
+ workspaceId?: string | null;
711
+ includeDeleted?: boolean;
712
+ }): DocumentReviewSessionRecord[];
713
+ listDocumentReviewCommentsForSync(input: {
714
+ workspaceId?: string | null;
715
+ includeDeleted?: boolean;
716
+ }): DocumentReviewCommentSyncRecord[];
717
+ listAnnotatedAttachmentSessionsForSync(input: {
718
+ workspaceId?: string | null;
719
+ includeDeleted?: boolean;
720
+ }): AnnotatedAttachmentSessionRecord[];
721
+ upsertAiProfileForSync(profile: AiProfileRecord): AiProfileRecord;
722
+ replaceWorkspaceUsersForSync(input: {
723
+ workspaceId: string;
724
+ users: WorkspaceUserRecord[];
725
+ }): WorkspaceUserRecord[];
726
+ upsertInitiativeForSync(initiative: InitiativeItem, workspaceId?: string | null): InitiativeItem;
727
+ upsertWorkstreamForSync(workstream: WorkstreamItem, workspaceId?: string | null): WorkstreamItem;
728
+ upsertDocumentReviewSessionForSync(session: DocumentReviewSessionRecord): DocumentReviewSessionRecord;
729
+ upsertDocumentReviewCommentForSync(comment: DocumentReviewCommentSyncRecord): DocumentReviewCommentSyncRecord;
730
+ upsertAnnotatedAttachmentSessionForSync(session: AnnotatedAttachmentSessionRecord): AnnotatedAttachmentSessionRecord;
731
+ deleteDocumentReviewSessionForSync(input: {
732
+ workspaceId?: string | null;
733
+ sessionId: string;
734
+ deletedAt?: string | null;
735
+ }): boolean;
736
+ deleteDocumentReviewCommentForSync(input: {
737
+ workspaceId?: string | null;
738
+ commentId: string;
739
+ deletedAt?: string | null;
740
+ }): boolean;
741
+ deleteAnnotatedAttachmentSessionForSync(input: {
742
+ workspaceId?: string | null;
743
+ sessionId: string;
744
+ deletedAt?: string | null;
745
+ }): boolean;
746
+ mergeAiProfiles(input: {
747
+ workspaceId: string;
748
+ keepId: string;
749
+ mergeId: string;
750
+ }): AiProfileRecord;
751
+ resolveWorkspaceActor(workspaceId: string, actorRef: unknown): TaskActor | null;
752
+ }
753
+ export declare class TaskforceCore implements TaskforceSyncCapable {
430
754
  private static readonly DEFAULT_CATEGORY_VALUE;
755
+ private static readonly DEFAULT_TYPE_VALUE;
431
756
  private static readonly DEFAULT_APPROACH_VALUE;
757
+ private static readonly DELETED_TASK_RETENTION_DAYS;
432
758
  private projectRoot;
433
759
  private basePath;
760
+ private runtimeMode;
434
761
  private dbPath;
435
762
  private configFile;
436
763
  private globalSettingsDbPath;
437
- private screenshotsDir;
438
- private contextFilesDir;
439
- private taskDataDir;
440
764
  private tenantId;
441
765
  private db;
442
766
  private globalSettingsDb;
767
+ private authTokenService;
768
+ private mcpTokenService;
769
+ private planEntitlementService;
443
770
  private realtimeMutationListeners;
444
771
  private readonly realtimeServerEpoch;
445
772
  private realtimeMutationSeq;
@@ -447,20 +774,59 @@ export declare class TaskforceCore {
447
774
  onRealtimeMutation(listener: (event: RealtimeMutationEvent) => void): () => void;
448
775
  private normalizePriorityValue;
449
776
  private normalizePriorityDefinitions;
450
- private migratePriorityScaleIfNeeded;
451
- private migrateOnHoldPriorityToStatusIfNeeded;
452
- private healPriorityConfigIfNeeded;
777
+ private normalizePriorityConfigIfNeeded;
453
778
  private estimateComplexity;
454
779
  private isAiCreated;
780
+ private isGenericAiActorReference;
781
+ private isKnownAiModelName;
782
+ private isHumanActorReference;
783
+ private normalizeAiProfileName;
784
+ private normalizeAiProfileUsername;
785
+ private normalizeAiProfileIcon;
786
+ private normalizeAiProfileColor;
787
+ private formatActorLabel;
788
+ private buildGenericAiActor;
789
+ private buildHumanActorFallback;
790
+ private workspaceUserToActor;
791
+ private aiProfileRowToRecord;
792
+ private aiProfileToActor;
793
+ private canonicalizeActorReference;
794
+ private normalizeCreatedBy;
455
795
  private normalizeCommentAuthor;
796
+ private normalizeIncomingComments;
797
+ private parseJsonField;
798
+ private normalizePlanningAttachments;
799
+ private replaceTaskComments;
800
+ private normalizeTaskEventActor;
801
+ private listTaskEventsInternal;
802
+ private buildTaskActivity;
803
+ private addTaskEvent;
804
+ private replaceTaskEvents;
805
+ private mapDeletedTaskRow;
806
+ private pruneDeletedTasks;
807
+ private normalizeTaskSnapshotForRestore;
808
+ private addDeletedTaskRecord;
809
+ private purgeExpiredDeletedTasks;
810
+ private areTaskEventValuesEqual;
811
+ private normalizeTaskEventValue;
812
+ private buildTaskUpdateChanges;
456
813
  private normalizeTaxonomyToken;
457
814
  private normalizeStatusValue;
458
815
  private sanitizeAssignee;
816
+ private repairTaskAssignee;
459
817
  private inferAssigneeFromOwnerHints;
818
+ private shouldNormalizeEscapedDescription;
819
+ private normalizeGeneratedDescription;
460
820
  private resolveTaxonomyValue;
821
+ private matchesTaxonomyCandidate;
822
+ private resolveCustomTaxonomyDefinition;
823
+ private resolveCustomTaxonomyOptionValue;
824
+ private normalizeTaskTaxonomySelections;
825
+ private listMissingRequiredTaxonomyLabels;
826
+ private assertRequiredTaskTaxonomies;
461
827
  private enforceCreateTaskTaxonomy;
462
- private sanitizeParentTaskId;
463
- private sanitizeChildDisplayOrder;
828
+ private sanitizeWorkstreamId;
829
+ private sanitizeInitiativeId;
464
830
  private sanitizeDateOnly;
465
831
  private sanitizeOrderInDay;
466
832
  private formatDateOnlyUtc;
@@ -470,41 +836,36 @@ export declare class TaskforceCore {
470
836
  private todayDateOnlyLocal;
471
837
  private normalizeWorkspaceId;
472
838
  private buildSchedulingWarnings;
473
- private nextChildDisplayOrder;
474
839
  private taskExists;
840
+ private initiativeExists;
841
+ private workstreamExists;
475
842
  private valueEqualsForBulkUpdate;
476
- private hasNonTerminalDirectChildren;
477
- private hasDirectChildren;
478
- private getTaskHierarchyRows;
479
- private buildTaskHierarchyIndex;
480
- private getDescendantIds;
481
- private hasOpenDescendants;
482
- private recomputeTaskAndAncestorCompletionFromDescendants;
483
- private createsParentCycle;
484
- private assertParentLinkAllowed;
843
+ private assertWorkstreamLinkAllowed;
844
+ private assertInitiativeLinkAllowed;
485
845
  constructor(config: TaskforceConfig);
486
846
  close(): void;
487
847
  getDatabaseAdapter(): DatabaseAdapter;
488
848
  getTenantId(): string;
489
- private parseJsonObject;
849
+ getWorkspaceAssetStore(): WorkspaceAssetStore;
490
850
  private normalizeEntitlementState;
491
- private normalizeFeatureAccess;
492
- private isEntitlementStateAllowed;
493
- private ensureDefaultPlanCatalog;
494
- private resolvePlanVersionIdForTier;
495
- private resolveEntitlementStateForBillingValue;
496
- private ensureAccountEntitlementRecord;
497
- private backfillAccountEntitlements;
498
- createUserBillingRecord(userId: string): void;
851
+ private upsertCanonicalEntitlementRecord;
852
+ private resolveWorkspaceLimitForUser;
853
+ private resolveRegistrationPlanAssignment;
854
+ createUserBillingRecord(userId: string, options?: {
855
+ entitlementState?: string;
856
+ planId?: string | null;
857
+ }): void;
499
858
  getUserEntitlement(userId: string): {
500
859
  entitlementState: string;
501
860
  tier: string;
502
861
  };
503
- getEffectivePlanVersion(accountId: string): PlanVersionSnapshot;
504
- getAccountEntitlement(accountId: string): AccountEntitlementSnapshot;
862
+ hasAccountEntitlement(accountId: string): boolean;
863
+ getAccountAccessStatus(accountId: string): import("./types.js").AccountAccessStatus;
864
+ getEffectivePlanVersion(accountId: string): import("./types.js").PlanVersionSnapshot;
865
+ getAccountEntitlement(accountId: string): import("./types.js").AccountEntitlementSnapshot;
505
866
  countWorkspaceSeatUsage(workspaceId: string, options?: {
506
867
  includeInvited?: boolean;
507
- }): SeatUsageSnapshot;
868
+ }): import("./types.js").SeatUsageSnapshot;
508
869
  assertSeatAvailable(workspaceId: string): void;
509
870
  evaluateFeatureAccess(input: {
510
871
  userId: string;
@@ -512,33 +873,75 @@ export declare class TaskforceCore {
512
873
  featureKey: string;
513
874
  action?: string;
514
875
  context?: Record<string, unknown>;
515
- }): FeatureEvaluationResult;
516
- getUserAccountPlanMode(userId: string): 'personal' | 'team';
517
- setUserAccountPlanMode(userId: string, mode: 'personal' | 'team'): 'personal' | 'team';
876
+ }): import("./types.js").FeatureEvaluationResult;
877
+ getUserAccountPlanMode(userId: string): "personal" | "team";
878
+ setUserAccountPlanMode(userId: string, mode: 'personal' | 'team'): "personal" | "team";
879
+ getRequiredDefaultPlanVersionId(planId: string): string;
880
+ getDefaultPlanVersionIdByMode(mode: 'personal' | 'team', options?: {
881
+ allowFallback?: boolean;
882
+ }): string;
883
+ getBillingMirrorProfileForPlanVersion(planVersionId: string): {
884
+ planId: string;
885
+ entitlementState: import("./types.js").EntitlementState;
886
+ };
518
887
  private ensureDirectories;
519
888
  private migrateLegacyGlobalSettingsDbIfNeeded;
520
889
  private initializeSchema;
521
890
  private performMigrationIfNeeded;
891
+ private backfillMcpAuditLogMetadataColumns;
522
892
  private migrateSystemRoleBackfillIfNeeded;
523
893
  private migrateUserBetaAccessBackfillIfNeeded;
894
+ private migrateDuplicateAiProfilesIfNeeded;
895
+ private migrateLegacyActorReferencesIfNeeded;
524
896
  private getWorkspaceOwnerUserId;
525
897
  getWorkspacePlanMode(workspaceId: string): 'personal' | 'team';
526
898
  setWorkspacePlanMode(workspaceId: string, mode: 'personal' | 'team', source?: string): 'personal' | 'team';
899
+ private readConfigFileOnly;
900
+ private getWorkspaceBackedProjectConfigKeys;
901
+ private getUserBackedProjectConfigKeys;
902
+ private isWorkspaceBackedProjectConfigKey;
903
+ private isUserBackedProjectConfigKey;
904
+ private normalizeProjectConfigWorkspaceId;
905
+ private normalizeProjectConfigUserId;
906
+ private sanitizeWorkspaceBackedProjectConfig;
907
+ private sanitizeUserBackedProjectConfig;
908
+ private stripPersistedProjectConfigKeys;
909
+ private stripLegacyTaxonomyConfigKeys;
910
+ private readWorkspaceBackedProjectConfig;
911
+ private writeWorkspaceBackedProjectConfig;
912
+ private readUserBackedProjectConfig;
913
+ private writeUserBackedProjectConfig;
914
+ private migrateLegacyPersistedProjectConfigIfNeeded;
915
+ private getTaxonomySettingsServiceDeps;
916
+ private readStoredWorkspaceTaxonomyState;
917
+ private writeWorkspaceTaxonomyState;
918
+ private getLegacyCategoriesConfig;
919
+ private getLegacyTypesConfig;
920
+ private resolveDefaultTypeValue;
921
+ private getLegacyTaxonomiesConfig;
922
+ private getLegacyPrioritiesConfig;
923
+ private buildEmergencyWorkspaceTaxonomyState;
924
+ private getConfiguredDefaultStarterTaxonomyPackId;
925
+ private getResolvedStarterWorkspaceTaxonomyState;
926
+ private getEffectiveWorkspaceTaxonomyState;
927
+ private ensureWorkspaceTaxonomyStateSeeded;
527
928
  private readConfig;
929
+ getConfig(workspaceId?: string, userId?: string): TaskFile['config'];
528
930
  private writeConfig;
529
931
  private getGlobalSettingsStore;
530
932
  private ensureGlobalSettingsTable;
531
933
  private ensureStructuredSettingsTables;
532
934
  private readSettingsPayloadRow;
533
- private splitGlobalSettingsPayload;
534
935
  private writeSettingsPayloadRow;
535
936
  private hasPersistedGlobalSettings;
536
937
  private readGlobalConfig;
537
938
  private writeGlobalConfig;
538
939
  getGlobalSettings(): GlobalTaskforceSettings;
539
- hasProjectThemeOverride(): boolean;
540
- getEffectiveTheme(): 'dark' | 'light' | 'midnight';
541
- hasProjectJsonBackupOverride(): boolean;
940
+ hasProjectThemeOverride(workspaceId?: string, userId?: string): boolean;
941
+ getEffectiveTheme(workspaceId?: string, userId?: string): TaskforceTheme;
942
+ hasProjectJsonBackupOverride(workspaceId?: string, userId?: string): boolean;
943
+ getSignupMonetizationSettings(): import("./types.js").SignupMonetizationSettings;
944
+ validateSignupMonetizationSettings(input?: Partial<SignupMonetizationSettings>): import("./types.js").SignupMonetizationValidationResult;
542
945
  updateGlobalSettings(settings: GlobalTaskforceSettings): void;
543
946
  private sanitizeUserGlobalSyncSettings;
544
947
  getUserGlobalSyncSettings(userId: string): {
@@ -550,8 +953,46 @@ export declare class TaskforceCore {
550
953
  updatedAt: string;
551
954
  applied: boolean;
552
955
  };
553
- getJsonBackupEnabled(): boolean;
956
+ private sanitizeWorkspaceShareableSyncSettings;
957
+ getWorkspaceShareableSyncSettings(workspaceId: string): {
958
+ settings: WorkspaceSyncSettingsPayload;
959
+ updatedAt: string | null;
960
+ };
961
+ upsertWorkspaceShareableSyncSettings(workspaceId: string, settings: unknown, updatedAt?: string | null): {
962
+ settings: WorkspaceSyncSettingsPayload;
963
+ updatedAt: string | null;
964
+ applied: boolean;
965
+ };
966
+ getJsonBackupEnabled(workspaceId?: string, userId?: string): boolean;
967
+ private listCanonicalTaskAttachments;
968
+ private syncCanonicalTaskAttachmentLinks;
554
969
  private rowToTask;
970
+ private rowToInitiative;
971
+ private rowToWorkstream;
972
+ private rowToChecklistItem;
973
+ private sanitizeTaskReferenceNumber;
974
+ private getTaskByReferenceNumber;
975
+ resolveTaskIdentifier(value: string, workspaceId?: string): TaskItem | null;
976
+ getInitiative(id: string, workspaceId?: string): InitiativeItem | null;
977
+ listInitiatives(workspaceId?: string): InitiativeItem[];
978
+ createInitiative(input: Partial<InitiativeItem>, workspaceId?: string): InitiativeItem;
979
+ updateInitiative(id: string, patch: Partial<InitiativeItem>, workspaceId?: string): InitiativeItem;
980
+ archiveInitiative(id: string, workspaceId?: string): InitiativeItem;
981
+ unarchiveInitiative(id: string, workspaceId?: string): InitiativeItem;
982
+ getWorkstream(id: string, workspaceId?: string): WorkstreamItem | null;
983
+ listWorkstreams(workspaceId?: string): WorkstreamItem[];
984
+ createWorkstream(input: Partial<WorkstreamItem>, workspaceId?: string): WorkstreamItem;
985
+ updateWorkstream(id: string, patch: Partial<WorkstreamItem>, workspaceId?: string): WorkstreamItem;
986
+ archiveWorkstream(id: string, workspaceId?: string): WorkstreamItem;
987
+ unarchiveWorkstream(id: string, workspaceId?: string): WorkstreamItem;
988
+ upsertInitiativeForSync(initiative: InitiativeItem, workspaceId?: string | null): InitiativeItem;
989
+ upsertWorkstreamForSync(workstream: WorkstreamItem, workspaceId?: string | null): WorkstreamItem;
990
+ listChecklistItems(taskId: string, workspaceId?: string): ChecklistItem[];
991
+ replaceChecklistItems(taskId: string, items: Array<Partial<ChecklistItem>>, workspaceId?: string): ChecklistItem[];
992
+ private reserveTaskReferenceNumber;
993
+ private reserveGenericReferenceNumber;
994
+ private reserveInitiativeReferenceNumber;
995
+ private reserveWorkstreamReferenceNumber;
555
996
  private generateId;
556
997
  private generateEntityId;
557
998
  private detectDefaultLocalWorkspaceName;
@@ -586,9 +1027,6 @@ export declare class TaskforceCore {
586
1027
  projectName: string;
587
1028
  tenantId: string;
588
1029
  basePath: string;
589
- taskDataDir: string;
590
- screenshotsDir: string;
591
- contextFilesDir: string;
592
1030
  mcpScript: string;
593
1031
  };
594
1032
  workspaceExists(workspaceId: string): boolean;
@@ -599,11 +1037,26 @@ export declare class TaskforceCore {
599
1037
  preferredWorkspaceId?: string | null;
600
1038
  persistedWorkspaceId?: string | null;
601
1039
  }): string | null;
1040
+ private getWorkspacePreferenceServiceDeps;
1041
+ private getGlobalSettingsServiceDeps;
1042
+ private getAttachmentLinkServiceDeps;
1043
+ private getTaskActivityServiceDeps;
1044
+ private getAnnotatedAttachmentServiceDeps;
1045
+ private getDocumentReviewServiceDeps;
1046
+ private getDeletedTaskLifecycleServiceDeps;
1047
+ private getSyncReconciliationServiceDeps;
1048
+ private getWorkspaceLifecycleServiceDeps;
602
1049
  listTasks(workspaceId?: string): TaskFile;
603
1050
  getDataVersion(): number;
604
1051
  getDatabaseProvider(): DatabaseProvider;
605
1052
  isDatabaseHealthy(): boolean;
606
1053
  listArchive(workspaceId?: string): ArchiveFile;
1054
+ listDeletedTasks(workspaceId?: string): {
1055
+ deleted: DeletedTaskRecord[];
1056
+ };
1057
+ getDeletedTask(id: string, workspaceId?: string): DeletedTaskRecord | null;
1058
+ permanentlyDeleteDeletedTask(id: string, workspaceId?: string): boolean;
1059
+ permanentlyDeleteAllDeletedTasks(workspaceId?: string): number;
607
1060
  getStats(workspaceId?: string): {
608
1061
  active: {
609
1062
  total: number;
@@ -628,6 +1081,7 @@ export declare class TaskforceCore {
628
1081
  }): UserAccessRecord;
629
1082
  resolveUserAccess(userId: string, workspaceId: string, fallbackRole?: AccessRole): UserAccessRecord | null;
630
1083
  resolveUserIdentity(userId: string): UserIdentityRecord | null;
1084
+ updateUserDisplayName(userId: string, displayName: string): UserIdentityRecord | null;
631
1085
  getSystemRole(userId: string): SystemRole;
632
1086
  getUserBetaAccess(userId: string): boolean;
633
1087
  countSystemAdmins(): number;
@@ -636,7 +1090,155 @@ export declare class TaskforceCore {
636
1090
  setSystemRole(userId: string, role: SystemRole): boolean;
637
1091
  setUserDisabledGlobal(userId: string, disabled: boolean): boolean;
638
1092
  setUserBetaAccessGlobal(userId: string, enabled: boolean): boolean;
1093
+ private clearActiveAssignmentsForUnavailableActor;
639
1094
  listWorkspaceUsers(workspaceId: string): WorkspaceUserRecord[];
1095
+ replaceWorkspaceUsersForSync(input: {
1096
+ workspaceId: string;
1097
+ users: WorkspaceUserRecord[];
1098
+ pruneMissing?: boolean;
1099
+ }): WorkspaceUserRecord[];
1100
+ listAiProfiles(workspaceId: string): AiProfileRecord[];
1101
+ getAiProfileByToken(input: {
1102
+ workspaceId: string;
1103
+ profileToken: string;
1104
+ }): AiProfileRecord | null;
1105
+ upsertAiProfileForSync(profile: AiProfileRecord): AiProfileRecord;
1106
+ mergeAiProfiles(input: {
1107
+ workspaceId: string;
1108
+ keepId: string;
1109
+ mergeId: string;
1110
+ }): AiProfileRecord;
1111
+ resolveAiProfile(input: ResolveAiProfileInput): ResolveAiProfileResult;
1112
+ listAnnotatedAttachmentSessions(input: {
1113
+ workspaceId?: string | null;
1114
+ taskId?: string | null;
1115
+ imageAssetId?: string | null;
1116
+ includeDeleted?: boolean;
1117
+ }): AnnotatedAttachmentSession[];
1118
+ getAnnotatedAttachmentSession(input: {
1119
+ workspaceId?: string | null;
1120
+ sessionId: string;
1121
+ includeDeleted?: boolean;
1122
+ }): AnnotatedAttachmentSession | null;
1123
+ createAnnotatedAttachmentSession(input: {
1124
+ workspaceId?: string | null;
1125
+ taskId?: string | null;
1126
+ baseImageAssetId: string;
1127
+ title?: string | null;
1128
+ globalInstruction?: string | null;
1129
+ annotations?: AnnotatedAttachmentAnnotation[];
1130
+ actorId?: string | null;
1131
+ }): AnnotatedAttachmentSession;
1132
+ updateAnnotatedAttachmentSession(input: {
1133
+ workspaceId?: string | null;
1134
+ sessionId: string;
1135
+ title?: string | null;
1136
+ globalInstruction?: string | null;
1137
+ annotations?: AnnotatedAttachmentAnnotation[];
1138
+ actorId?: string | null;
1139
+ }): AnnotatedAttachmentSession;
1140
+ deleteAnnotatedAttachmentSession(input: {
1141
+ workspaceId?: string | null;
1142
+ sessionId: string;
1143
+ }): boolean;
1144
+ deleteAnnotatedAttachmentSessionsForImage(input: {
1145
+ workspaceId?: string | null;
1146
+ imageAssetId: string;
1147
+ deletedAt?: string | null;
1148
+ }): number;
1149
+ deleteAnnotatedAttachmentSessionsForTaskImage(input: {
1150
+ workspaceId?: string | null;
1151
+ taskId: string;
1152
+ imageAssetId: string;
1153
+ deletedAt?: string | null;
1154
+ }): number;
1155
+ private repairDetachedAnnotatedAttachmentSessions;
1156
+ buildAnnotatedAttachmentPayload(input: {
1157
+ workspaceId?: string | null;
1158
+ sessionId: string;
1159
+ }): AnnotatedAttachmentPayload;
1160
+ listDocumentReviewSessions(input: {
1161
+ workspaceId?: string | null;
1162
+ assetId: string;
1163
+ includeDeleted?: boolean;
1164
+ }): DocumentReviewSession[];
1165
+ getDocumentReviewSession(input: {
1166
+ workspaceId?: string | null;
1167
+ sessionId: string;
1168
+ includeDeleted?: boolean;
1169
+ }): DocumentReviewSession | null;
1170
+ listDocumentReviewSessionsForSync(input: {
1171
+ workspaceId?: string | null;
1172
+ includeDeleted?: boolean;
1173
+ }): DocumentReviewSessionRecord[];
1174
+ listDocumentReviewCommentsForSync(input: {
1175
+ workspaceId?: string | null;
1176
+ includeDeleted?: boolean;
1177
+ }): DocumentReviewCommentSyncRecord[];
1178
+ listAnnotatedAttachmentSessionsForSync(input: {
1179
+ workspaceId?: string | null;
1180
+ includeDeleted?: boolean;
1181
+ }): AnnotatedAttachmentSessionRecord[];
1182
+ upsertDocumentReviewSessionForSync(session: DocumentReviewSessionRecord): DocumentReviewSessionRecord;
1183
+ upsertDocumentReviewCommentForSync(comment: DocumentReviewCommentSyncRecord): DocumentReviewCommentSyncRecord;
1184
+ upsertAnnotatedAttachmentSessionForSync(session: AnnotatedAttachmentSessionRecord): AnnotatedAttachmentSessionRecord;
1185
+ deleteDocumentReviewSessionForSync(input: {
1186
+ workspaceId?: string | null;
1187
+ sessionId: string;
1188
+ deletedAt?: string | null;
1189
+ }): boolean;
1190
+ deleteDocumentReviewCommentForSync(input: {
1191
+ workspaceId?: string | null;
1192
+ commentId: string;
1193
+ deletedAt?: string | null;
1194
+ }): boolean;
1195
+ deleteAnnotatedAttachmentSessionForSync(input: {
1196
+ workspaceId?: string | null;
1197
+ sessionId: string;
1198
+ deletedAt?: string | null;
1199
+ }): boolean;
1200
+ createDocumentReviewSession(input: {
1201
+ workspaceId?: string | null;
1202
+ assetId: string;
1203
+ title?: string | null;
1204
+ status?: DocumentReviewSessionStatus;
1205
+ actorId?: string | null;
1206
+ }): DocumentReviewSession;
1207
+ updateDocumentReviewSession(input: {
1208
+ workspaceId?: string | null;
1209
+ sessionId: string;
1210
+ title?: string | null;
1211
+ status?: DocumentReviewSessionStatus;
1212
+ actorId?: string | null;
1213
+ }): DocumentReviewSession;
1214
+ addDocumentReviewComment(input: {
1215
+ workspaceId?: string | null;
1216
+ sessionId: string;
1217
+ body: string;
1218
+ anchor?: DocumentReviewAnchor | null;
1219
+ actorId?: string | null;
1220
+ }): DocumentReviewSession;
1221
+ updateDocumentReviewComment(input: {
1222
+ workspaceId?: string | null;
1223
+ sessionId: string;
1224
+ commentId: string;
1225
+ body?: string;
1226
+ anchor?: DocumentReviewAnchor | null;
1227
+ actorId?: string | null;
1228
+ }): DocumentReviewSession;
1229
+ deleteDocumentReviewComment(input: {
1230
+ workspaceId?: string | null;
1231
+ sessionId: string;
1232
+ commentId: string;
1233
+ actorId?: string | null;
1234
+ }): DocumentReviewSession;
1235
+ deleteDocumentReviewSession(input: {
1236
+ workspaceId?: string | null;
1237
+ sessionId: string;
1238
+ }): boolean;
1239
+ private getAiProfileServiceDeps;
1240
+ resolveWorkspaceActor(workspaceId: string, actorRef: unknown): TaskActor | null;
1241
+ listAssignableActors(workspaceId: string): TaskActor[];
640
1242
  addAdminAuditLog(input: {
641
1243
  action: string;
642
1244
  actorUserId: string;
@@ -644,9 +1246,43 @@ export declare class TaskforceCore {
644
1246
  workspaceId: string;
645
1247
  details?: Record<string, unknown>;
646
1248
  }): void;
647
- listAdminAuditLogs(workspaceId: string, limit?: number, offset?: number): AdminAuditLogRecord[];
648
- countAdminAuditLogs(workspaceId: string): number;
649
- private isValidEntitlementTransition;
1249
+ addMcpAuditLog(input: {
1250
+ workspaceId: string;
1251
+ actorType: 'local' | 'user' | 'token' | 'oauth';
1252
+ actorUserId: string;
1253
+ tokenId?: string | null;
1254
+ toolName: string;
1255
+ details?: Record<string, unknown>;
1256
+ }): void;
1257
+ checkMcpRateLimit(input: {
1258
+ scope: 'actor' | 'workspace';
1259
+ key: string;
1260
+ limit: number;
1261
+ windowMs: number;
1262
+ nowMs?: number;
1263
+ }): {
1264
+ allowed: boolean;
1265
+ limit: number;
1266
+ remaining: number;
1267
+ resetAt: number;
1268
+ retryAfterSeconds: number;
1269
+ };
1270
+ listAdminAuditLogs(workspaceId: string, limit?: number, offset?: number, filters?: {
1271
+ from?: string | null;
1272
+ to?: string | null;
1273
+ }): AdminAuditLogRecord[];
1274
+ countAdminAuditLogs(workspaceId: string, filters?: {
1275
+ from?: string | null;
1276
+ to?: string | null;
1277
+ }): number;
1278
+ listMcpAuditLogs(limit?: number, offset?: number, filters?: {
1279
+ from?: string | null;
1280
+ to?: string | null;
1281
+ }): McpAuditLogRecord[];
1282
+ countMcpAuditLogs(filters?: {
1283
+ from?: string | null;
1284
+ to?: string | null;
1285
+ }): number;
650
1286
  addEntitlementAuditLog(input: {
651
1287
  actorUserId: string;
652
1288
  actorRole: string;
@@ -661,27 +1297,40 @@ export declare class TaskforceCore {
661
1297
  planId: string;
662
1298
  displayName: string;
663
1299
  status?: 'active' | 'archived';
1300
+ initialMode?: 'personal' | 'team';
1301
+ initialSeatLimit?: number | null;
1302
+ initialTrialDays?: number;
664
1303
  }): {
665
1304
  planId: string;
666
1305
  displayName: string;
667
- status: 'active' | 'archived';
1306
+ status: "active" | "archived";
668
1307
  };
669
- listPlanCatalog(): PlanCatalogSnapshot[];
670
- listPlanVersions(planId: string): PlanVersionSnapshot[];
671
- getPlanVersionFeatures(planId: string, versionId: string): PlanVersionSnapshot;
672
- searchAccountsByEmail(query: string, limit?: number): Array<{
1308
+ listPlanCatalog(): import("./types.js").PlanCatalogSnapshot[];
1309
+ listPlanFeatureCatalog(): import("./types.js").PlanFeatureCatalogItem[];
1310
+ listPlanVersions(planId: string): import("./types.js").PlanVersionSnapshot[];
1311
+ getPlanVersionFeatures(planId: string, versionId: string): import("./types.js").PlanVersionSnapshot;
1312
+ searchAccountsByEmail(query: string, limit?: number): {
673
1313
  accountId: string;
674
1314
  email: string;
675
1315
  displayName: string | null;
676
1316
  disabled: boolean;
677
- }>;
1317
+ }[];
678
1318
  createPlanVersion(input: {
679
1319
  planId: string;
680
1320
  versionNumber: number;
681
1321
  isDefault?: boolean;
682
1322
  seatLimit?: number | null;
1323
+ trialDays?: number;
683
1324
  metadata?: Record<string, unknown>;
684
- }): PlanVersionSnapshot;
1325
+ }): import("./types.js").PlanVersionSnapshot;
1326
+ updatePlanVersion(input: {
1327
+ planId: string;
1328
+ versionNumber: number;
1329
+ isDefault?: boolean;
1330
+ seatLimit?: number | null;
1331
+ trialDays?: number;
1332
+ metadata?: Record<string, unknown>;
1333
+ }): import("./types.js").PlanVersionSnapshot;
685
1334
  private getPlanVersionSnapshot;
686
1335
  updatePlanVersionFeatures(input: {
687
1336
  planVersionId: string;
@@ -690,7 +1339,7 @@ export declare class TaskforceCore {
690
1339
  access: PlanFeatureAccess;
691
1340
  config?: Record<string, unknown>;
692
1341
  }>;
693
- }): PlanVersionSnapshot;
1342
+ }): import("./types.js").PlanVersionSnapshot;
694
1343
  updateAccountEntitlement(input: {
695
1344
  accountId: string;
696
1345
  planVersionId?: string;
@@ -701,8 +1350,8 @@ export declare class TaskforceCore {
701
1350
  actorRole: string;
702
1351
  reason?: string;
703
1352
  requestId?: string;
704
- }): AccountEntitlementSnapshot;
705
- listEntitlementAuditLog(accountId: string, limit?: number, offset?: number): Array<{
1353
+ }): import("./types.js").AccountEntitlementSnapshot;
1354
+ listEntitlementAuditLog(accountId: string, limit?: number, offset?: number): {
706
1355
  id: string;
707
1356
  accountId: string;
708
1357
  action: string;
@@ -712,7 +1361,7 @@ export declare class TaskforceCore {
712
1361
  before: Record<string, unknown>;
713
1362
  after: Record<string, unknown>;
714
1363
  createdAt: string;
715
- }>;
1364
+ }[];
716
1365
  getAccountEntitlementsPayload(input: {
717
1366
  userId: string;
718
1367
  workspaceId: string;
@@ -721,13 +1370,13 @@ export declare class TaskforceCore {
721
1370
  workspaceId: string;
722
1371
  planId: string;
723
1372
  planVersionId: string;
724
- state: EntitlementState;
1373
+ state: import("./types.js").EntitlementState;
725
1374
  effectiveAt: string | null;
726
1375
  effectiveUntil: string | null;
727
- seatUsage: SeatUsageSnapshot;
1376
+ seatUsage: import("./types.js").SeatUsageSnapshot;
728
1377
  features: Record<string, {
729
1378
  allowed: boolean;
730
- access: PlanFeatureAccess;
1379
+ access: import("./types.js").PlanFeatureAccess;
731
1380
  config: Record<string, unknown>;
732
1381
  }>;
733
1382
  };
@@ -766,6 +1415,7 @@ export declare class TaskforceCore {
766
1415
  email: string;
767
1416
  password: string;
768
1417
  workspaceId?: string;
1418
+ planVersionId?: string;
769
1419
  role?: AccessRole;
770
1420
  displayName?: string;
771
1421
  betaAccess?: boolean;
@@ -773,10 +1423,87 @@ export declare class TaskforceCore {
773
1423
  userId: string;
774
1424
  workspaceId: string | null;
775
1425
  role: AccessRole;
1426
+ planSelectionRequired: boolean;
776
1427
  };
777
1428
  private createOneTimeAuthToken;
778
1429
  private consumeOneTimeAuthToken;
779
1430
  private inspectOneTimeAuthToken;
1431
+ revokeMcpCredentialsForUserWorkspace(userId: string, workspaceId: string, revokedByUserId?: string | null): void;
1432
+ private revokeMcpCredentialsForWorkspace;
1433
+ listMcpAccessTokens(input: {
1434
+ userId: string;
1435
+ workspaceId: string;
1436
+ page?: number;
1437
+ pageSize?: number;
1438
+ }): McpAccessTokenListResult;
1439
+ createMcpAccessToken(input: {
1440
+ userId: string;
1441
+ workspaceId: string;
1442
+ name: string;
1443
+ scopes: unknown;
1444
+ expiresAt?: string | null;
1445
+ createdByIp?: string | null;
1446
+ }): McpAccessTokenIssueResult;
1447
+ revokeMcpAccessToken(input: {
1448
+ actorUserId: string;
1449
+ workspaceId: string;
1450
+ tokenId: string;
1451
+ }): McpAccessTokenRecord;
1452
+ regenerateMcpAccessToken(input: {
1453
+ actorUserId: string;
1454
+ workspaceId: string;
1455
+ tokenId: string;
1456
+ createdByIp?: string | null;
1457
+ }): McpAccessTokenIssueResult;
1458
+ authenticateMcpAccessToken(token: string, workspaceId?: string): McpAccessTokenAuthResult | null;
1459
+ inspectMcpAccessToken(token: string): McpAccessTokenInspectionResult | null;
1460
+ recordMcpAccessTokenUsage(input: {
1461
+ tokenId: string;
1462
+ workspaceId: string;
1463
+ ip?: string | null;
1464
+ userAgent?: string | null;
1465
+ }): boolean;
1466
+ registerMcpOAuthClient(input: {
1467
+ provider: McpOAuthProvider | string;
1468
+ clientName: string;
1469
+ redirectUris: unknown;
1470
+ }): McpOAuthClientRecord;
1471
+ getMcpOAuthClient(clientId: string, provider?: McpOAuthProvider | string | null): McpOAuthClientRecord | null;
1472
+ issueMcpOAuthAuthorizationCode(input: {
1473
+ provider: McpOAuthProvider | string;
1474
+ clientId: string;
1475
+ userId: string;
1476
+ workspaceId: string;
1477
+ scopes: unknown;
1478
+ redirectUri: string;
1479
+ codeChallenge: string;
1480
+ codeChallengeMethod?: string | null;
1481
+ }): {
1482
+ code: string;
1483
+ expiresAt: string;
1484
+ };
1485
+ exchangeMcpOAuthAuthorizationCode(input: {
1486
+ provider: McpOAuthProvider | string;
1487
+ clientId: string;
1488
+ code: string;
1489
+ redirectUri: string;
1490
+ codeVerifier: string;
1491
+ }): McpOAuthTokenExchangeResult;
1492
+ listMcpOAuthConnectorGrants(input: {
1493
+ userId: string;
1494
+ workspaceId: string;
1495
+ provider?: McpOAuthProvider | string | null;
1496
+ }): McpOAuthConnectorGrantRecord[];
1497
+ revokeMcpOAuthConnectorGrant(input: {
1498
+ actorUserId: string;
1499
+ workspaceId: string;
1500
+ grantId: string;
1501
+ }): McpOAuthConnectorGrantRecord;
1502
+ authenticateMcpOAuthAccessToken(token: string, workspaceId?: string): McpOAuthAccessTokenAuthResult | null;
1503
+ recordMcpOAuthConnectorGrantUsage(input: {
1504
+ grantId: string;
1505
+ workspaceId: string;
1506
+ }): boolean;
780
1507
  isEmailVerified(email: string): boolean;
781
1508
  markEmailVerified(email: string): boolean;
782
1509
  requestEmailVerification(input: {
@@ -807,7 +1534,10 @@ export declare class TaskforceCore {
807
1534
  email?: string;
808
1535
  userId?: string;
809
1536
  workspaceId?: string;
1537
+ inviteeKind?: 'existing_user' | 'new_user';
1538
+ passwordRequired?: boolean;
810
1539
  };
1540
+ private completeInviteWorkspaceActivation;
811
1541
  acceptInviteWithToken(input: {
812
1542
  token: string;
813
1543
  password: string;
@@ -817,6 +1547,15 @@ export declare class TaskforceCore {
817
1547
  workspaceId: string;
818
1548
  role: AccessRole;
819
1549
  };
1550
+ joinInviteWithAuthenticatedUser(input: {
1551
+ token: string;
1552
+ userId: string;
1553
+ }): {
1554
+ userId: string;
1555
+ email: string;
1556
+ workspaceId: string;
1557
+ role: AccessRole;
1558
+ };
820
1559
  resetPasswordWithToken(input: {
821
1560
  token: string;
822
1561
  password: string;
@@ -840,6 +1579,7 @@ export declare class TaskforceCore {
840
1579
  } | null;
841
1580
  updateWorkspaceUserRole(userId: string, workspaceId: string, role: AccessRole): boolean;
842
1581
  getTask(id: string, workspaceId?: string): TaskItem | null;
1582
+ listTaskEvents(taskId: string, workspaceId?: string): TaskEvent[];
843
1583
  getScheduleBoard(weekKey: string, showWeekends?: boolean, workspaceId?: string): ScheduleBoardResult;
844
1584
  updateTaskSchedule(id: string, input: {
845
1585
  scheduledDate: string | null;
@@ -865,14 +1605,25 @@ export declare class TaskforceCore {
865
1605
  }): BulkCreateTaskResult;
866
1606
  updateTask(id: string, updates: Partial<TaskItem>, workspaceId?: string, options?: {
867
1607
  persistBackup?: boolean;
1608
+ skipRecompute?: boolean;
1609
+ syncUpdatedAt?: string;
1610
+ actorRef?: string;
1611
+ skipTaskEvents?: boolean;
868
1612
  }): TaskItem | null;
869
- addComment(id: string, text: string, author: string, workspaceId?: string): TaskItem | null;
870
- deleteTask(id: string, workspaceId?: string, options?: {
1613
+ addComment(id: string, text: string, author: string, workspaceId?: string, options?: {
871
1614
  persistBackup?: boolean;
872
- }): boolean;
1615
+ actorRef?: string;
1616
+ skipTaskEvents?: boolean;
1617
+ }): TaskItem | null;
1618
+ softDeleteTask(id: string, workspaceId?: string, options?: DeleteTaskOptions): DeletedTaskRecord | null;
1619
+ deleteTask(id: string, workspaceId?: string, options?: DeleteTaskOptions): boolean;
873
1620
  deleteTaskForSync(id: string, workspaceId?: string, options?: {
874
1621
  persistBackup?: boolean;
875
1622
  }): boolean;
1623
+ restoreDeletedTask(id: string, workspaceId?: string, options?: {
1624
+ persistBackup?: boolean;
1625
+ actorRef?: string;
1626
+ }): TaskItem | null;
876
1627
  listWorkspaceSyncDeletes(workspaceId?: string): Array<{
877
1628
  taskId: string;
878
1629
  deletedAt: string;
@@ -893,15 +1644,18 @@ export declare class TaskforceCore {
893
1644
  }>;
894
1645
  archiveTask(id: string, isCancellation?: boolean, reason?: string, workspaceId?: string, options?: {
895
1646
  persistBackup?: boolean;
1647
+ skipRecompute?: boolean;
1648
+ syncUpdatedAt?: string;
1649
+ skipHierarchyCheck?: boolean;
1650
+ actorRef?: string;
1651
+ skipTaskEvents?: boolean;
896
1652
  }): TaskItem | null;
897
1653
  unarchiveTask(id: string, workspaceId?: string, options?: {
898
1654
  persistBackup?: boolean;
899
- }): TaskItem | null;
900
- cancelParentWithOpenDescendants(id: string, input: {
901
- reason?: string;
902
- mode: 'cascade' | 'unlink';
903
- }, workspaceId?: string, options?: {
904
- persistBackup?: boolean;
1655
+ skipRecompute?: boolean;
1656
+ syncUpdatedAt?: string;
1657
+ actorRef?: string;
1658
+ skipTaskEvents?: boolean;
905
1659
  }): TaskItem | null;
906
1660
  bulkArchive(ids: string[], isCancellation?: boolean, workspaceId?: string): number;
907
1661
  applyWorkspaceSyncSnapshot(input: {
@@ -915,7 +1669,7 @@ export declare class TaskforceCore {
915
1669
  unarchived: number;
916
1670
  skipped: number;
917
1671
  };
918
- updateConfig(newConfig: any): void;
1672
+ updateConfig(newConfig: any, workspaceId?: string, userId?: string): void;
919
1673
  getUiState(workspaceId: string, userId: string, stateKey?: string): Record<string, unknown> | null;
920
1674
  updateUiState(workspaceId: string, userId: string, input: {
921
1675
  stateKey?: string;
@@ -923,14 +1677,7 @@ export declare class TaskforceCore {
923
1677
  }): Record<string, unknown>;
924
1678
  readPushIdempotency(workspaceId: string, idempotencyKey: string): string | null;
925
1679
  writePushIdempotency(workspaceId: string, idempotencyKey: string, payload: string): void;
926
- recordSyncEvent(workspaceId: string, event: {
927
- eventType: 'apply' | 'push' | 'pull' | 'handshake' | 'bootstrap';
928
- status: 'success' | 'error';
929
- statusCode?: number;
930
- errorMessage?: string;
931
- changeCount?: number;
932
- requestMs?: number;
933
- }): void;
1680
+ recordSyncEvent(workspaceId: string, event: SyncEventInput): void;
934
1681
  listSyncEvents(workspaceId: string, limit?: number): Array<{
935
1682
  id: number;
936
1683
  eventType: string;
@@ -939,6 +1686,7 @@ export declare class TaskforceCore {
939
1686
  errorMessage: string | null;
940
1687
  changeCount: number | null;
941
1688
  requestMs: number | null;
1689
+ details: Record<string, unknown> | null;
942
1690
  occurredAt: string;
943
1691
  }>;
944
1692
  /**
@@ -957,24 +1705,38 @@ export declare class TaskforceCore {
957
1705
  */
958
1706
  upsertDocumentWatermark(workspaceId: string, docPath: string, contentHash: string, updatedAt: string): void;
959
1707
  deleteDocumentWatermark(workspaceId: string, docPath: string): void;
960
- getCategories(): CategoryConfig[];
961
- updateCategories(categories: Array<string | CategoryConfig>): void;
1708
+ notifyDocumentMetadataMutation(workspaceId: string, entityIds: string[], changeType?: 'upsert' | 'delete'): void;
1709
+ getCategories(workspaceId?: string): CategoryConfig[];
1710
+ getTaxonomyState(workspaceId?: string): WorkspaceTaxonomyState;
1711
+ getTaxonomyDisplayLabels(workspaceId?: string): FirstClassTaxonomyDisplayLabels;
1712
+ updateTaxonomyDisplayLabels(displayLabels: FirstClassTaxonomyDisplayLabels, workspaceId?: string): FirstClassTaxonomyDisplayLabels;
1713
+ updateCategories(categories: Array<string | CategoryConfig>, workspaceId?: string): void;
962
1714
  searchTasks(query: string, scope?: 'all' | 'active' | 'archive', workspaceId?: string): TaskItem[];
963
- getTypes(): Array<{
1715
+ getTypes(workspaceId?: string): Array<{
964
1716
  value: string;
965
1717
  label: string;
1718
+ color?: string;
1719
+ icon?: string;
1720
+ aliases?: string[];
1721
+ status?: 'active' | 'retired';
966
1722
  }>;
967
1723
  updateTypes(types: Array<{
968
1724
  value: string;
969
1725
  label: string;
970
- }>): void;
971
- getTaxonomies(): any[];
972
- getTaxonomiesSyncSnapshot(): {
1726
+ color?: string;
1727
+ icon?: string;
1728
+ aliases?: string[];
1729
+ status?: 'active' | 'retired';
1730
+ }>, workspaceId?: string): void;
1731
+ getTaxonomies(workspaceId?: string): any[];
1732
+ getTaxonomiesSyncSnapshot(workspaceId?: string): {
973
1733
  taxonomies: any[];
1734
+ taxonomyState: WorkspaceTaxonomyState;
974
1735
  updatedAt: string;
975
1736
  };
976
- updateTaxonomies(taxonomies: any[]): void;
977
- getPriorities(): Array<{
1737
+ updateTaxonomyState(taxonomyState: WorkspaceTaxonomyState, workspaceId?: string): WorkspaceTaxonomyState;
1738
+ updateTaxonomies(taxonomies: any[], workspaceId?: string): void;
1739
+ getPriorities(workspaceId?: string): Array<{
978
1740
  value: number;
979
1741
  label: string;
980
1742
  color?: string;
@@ -985,7 +1747,7 @@ export declare class TaskforceCore {
985
1747
  label: string;
986
1748
  color?: string;
987
1749
  icon?: string;
988
- }>): void;
1750
+ }>, workspaceId?: string): void;
989
1751
  getApproaches(): Array<{
990
1752
  value: string;
991
1753
  label: string;
@@ -999,7 +1761,6 @@ export declare class TaskforceCore {
999
1761
  icon?: string;
1000
1762
  }>): void;
1001
1763
  private renderChecklistBlocks;
1002
- private listDirectChildren;
1003
1764
  getInitiativeTemplates(): InitiativeTemplate[];
1004
1765
  createInitiativeFromTemplate(input: {
1005
1766
  templateId: string;
@@ -1009,24 +1770,12 @@ export declare class TaskforceCore {
1009
1770
  type?: string;
1010
1771
  priority?: number;
1011
1772
  approach?: string;
1012
- parentTaskId?: string | null;
1013
- specialists?: string[];
1014
1773
  createdBy?: string;
1015
1774
  }, workspaceId?: string): {
1016
1775
  initiative: TaskItem;
1017
1776
  milestones: TaskItem[];
1018
1777
  templateId: string;
1019
1778
  };
1020
- cloneChecklistBlocksToChildren(input: {
1021
- parentTaskId: string;
1022
- checklistBlocks: {
1023
- definitionOfDone: string[];
1024
- rollbackPlan: string[];
1025
- };
1026
- }, workspaceId?: string): {
1027
- updated: number;
1028
- children: TaskItem[];
1029
- };
1030
1779
  bulkUpdateType(fromType: string, toType: string, workspaceId?: string): number;
1031
1780
  bulkUpdateFieldsPreview(updates: Array<{
1032
1781
  id: string;
@@ -1049,7 +1798,6 @@ export declare class TaskforceCore {
1049
1798
  };
1050
1799
  exportResources(type: string, destinationRelativePath: string, variables?: Record<string, string>, environment?: string): number;
1051
1800
  exportWorkflows(environment: string, workflowNames?: string[], variables?: any): number;
1052
- listSpecialists(): any[];
1053
1801
  listWorkflowTemplates(): any[];
1054
1802
  getWorkflowTemplate(name: string): any;
1055
1803
  listWorkflowOverrideNames(): string[];
@@ -1060,4 +1808,3 @@ export declare class TaskforceCore {
1060
1808
  */
1061
1809
  private persistBackup;
1062
1810
  }
1063
- export {};