@taskforcehq/taskforce 0.3.305 → 0.3.307

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 (440) hide show
  1. package/README.md +0 -2
  2. package/dist/Taskforce.module.css +603 -107
  3. package/dist/TaskforceCore.js +216 -43
  4. package/dist/TaskforceCore.test.js +611 -28
  5. package/dist/assets/fonts/CourierPrime-Bold.woff2 +0 -0
  6. package/dist/assets/fonts/CourierPrime-BoldItalic.woff2 +0 -0
  7. package/dist/assets/fonts/CourierPrime-Italic.woff2 +0 -0
  8. package/dist/assets/fonts/CourierPrime-Regular.woff2 +0 -0
  9. package/dist/assets/fonts/Noir_medium.woff2 +0 -0
  10. package/dist/assets/fonts/Noir_regular.woff2 +0 -0
  11. package/dist/assets/fonts/RussoOne-Regular.woff2 +0 -0
  12. package/dist/assets/fonts/SpecialElite-Regular.woff2 +0 -0
  13. package/dist/compat/workspaceSyncCompat.js +46 -2
  14. package/dist/compat/workspaceSyncCompat.test.js +38 -1
  15. package/dist/components/activity/EntityActivityTimeline.d.ts +34 -0
  16. package/dist/components/activity/EntityActivityTimeline.js +81 -0
  17. package/dist/components/context/ContextAttachmentManager.d.ts +14 -0
  18. package/dist/components/context/ContextAttachmentManager.js +561 -0
  19. package/dist/components/features/AgentsModule.d.ts +14 -1
  20. package/dist/components/features/AgentsModule.js +366 -18
  21. package/dist/components/features/AgentsModule.test.js +507 -8
  22. package/dist/components/features/AnnotatedAttachmentWorkspace.d.ts +3 -1
  23. package/dist/components/features/AnnotatedAttachmentWorkspace.js +118 -4
  24. package/dist/components/features/AnnotatedAttachmentWorkspace.test.js +52 -0
  25. package/dist/components/features/DocumentIndex.d.ts +2 -2
  26. package/dist/components/features/DocumentIndex.js +3 -4
  27. package/dist/components/features/DocumentViewer.d.ts +7 -1
  28. package/dist/components/features/DocumentViewer.js +62 -4
  29. package/dist/components/features/DocumentWorkspace.d.ts +10 -2
  30. package/dist/components/features/DocumentWorkspace.js +15 -4
  31. package/dist/components/features/DocumentWorkspace.test.js +51 -1
  32. package/dist/components/features/TaskSettings.d.ts +2 -0
  33. package/dist/components/features/TaskSettings.js +83 -78
  34. package/dist/components/features/TaskSettings.test.js +171 -82
  35. package/dist/components/features/documentWorkspaceModel.d.ts +1 -1
  36. package/dist/components/task/TaskActionHeader.js +11 -5
  37. package/dist/components/task/TaskActionHeader.test.js +10 -0
  38. package/dist/components/task/TaskCard.js +24 -29
  39. package/dist/components/task/TaskCard.test.js +38 -3
  40. package/dist/components/task/TaskContextUpload.js +4 -526
  41. package/dist/components/task/TaskContextUpload.test.js +3 -3
  42. package/dist/components/task/TaskForm.js +61 -116
  43. package/dist/components/task/TaskForm.test.js +110 -8
  44. package/dist/components/task/TaskKanban.d.ts +2 -1
  45. package/dist/components/task/TaskKanban.js +94 -21
  46. package/dist/components/task/TaskKanban.test.js +36 -0
  47. package/dist/components/task/TaskList.js +5 -1
  48. package/dist/components/task/TaskList.test.js +4 -0
  49. package/dist/components/ui/EditableAvatarButton.d.ts +18 -0
  50. package/dist/components/ui/EditableAvatarButton.js +18 -0
  51. package/dist/components/ui/HierarchyActionBadge.d.ts +10 -0
  52. package/dist/components/ui/HierarchyActionBadge.js +5 -0
  53. package/dist/components/views/AppShellHeader.d.ts +3 -1
  54. package/dist/components/views/AppShellHeader.js +27 -11
  55. package/dist/components/views/AppShellHeader.test.js +18 -1
  56. package/dist/components/views/PlanComparisonPage.d.ts +9 -1
  57. package/dist/components/views/PlanComparisonPage.js +78 -14
  58. package/dist/components/views/PlanComparisonPage.test.js +257 -0
  59. package/dist/components/views/PlansPage.js +127 -36
  60. package/dist/components/views/PlansPage.test.js +294 -12
  61. package/dist/components/views/StandaloneLayout.js +529 -592
  62. package/dist/components/views/WidgetView.js +10 -8
  63. package/dist/components/views/panels/PlanningDrawer.d.ts +25 -5
  64. package/dist/components/views/panels/PlanningDrawer.js +270 -55
  65. package/dist/components/views/panels/PlanningDrawer.test.d.ts +1 -0
  66. package/dist/components/views/panels/PlanningDrawer.test.js +529 -0
  67. package/dist/components/views/planningScope.d.ts +20 -0
  68. package/dist/components/views/planningScope.js +25 -0
  69. package/dist/components/views/planningScope.test.d.ts +1 -0
  70. package/dist/components/views/planningScope.test.js +60 -0
  71. package/dist/components/views/standalone/modals/AccountHubModal.d.ts +26 -1
  72. package/dist/components/views/standalone/modals/AccountHubModal.js +76 -2
  73. package/dist/components/views/standalone/modals/AccountHubModal.test.js +20 -3
  74. package/dist/components/views/standalone/modals/AvatarImageManagerModal.d.ts +20 -0
  75. package/dist/components/views/standalone/modals/AvatarImageManagerModal.js +127 -0
  76. package/dist/components/views/standalone/modals/EditProfileModal.d.ts +2 -9
  77. package/dist/components/views/standalone/modals/EditProfileModal.js +3 -2
  78. package/dist/components/views/standalone/modals/SyncEnableWarningModal.d.ts +9 -0
  79. package/dist/components/views/standalone/modals/SyncEnableWarningModal.js +6 -0
  80. package/dist/components/views/standalone/modals/SyncEnableWarningModal.test.d.ts +1 -0
  81. package/dist/components/views/standalone/modals/SyncEnableWarningModal.test.js +24 -0
  82. package/dist/components/views/standalone/modals/SyncStatusModal.d.ts +2 -1
  83. package/dist/components/views/standalone/modals/SyncStatusModal.js +2 -2
  84. package/dist/config/envSchema.js +1 -0
  85. package/dist/core/AiProfileService.d.ts +46 -2
  86. package/dist/core/AiProfileService.js +1073 -82
  87. package/dist/core/AiProfileService.test.js +19 -1
  88. package/dist/core/AiProfiles.test.js +1249 -44
  89. package/dist/core/AttachmentLinkService.d.ts +3 -0
  90. package/dist/core/AttachmentLinkService.js +110 -23
  91. package/dist/core/AuthIdentityService.d.ts +107 -0
  92. package/dist/core/AuthIdentityService.js +284 -0
  93. package/dist/core/AuthTokenService.d.ts +4 -0
  94. package/dist/core/AuthTokenService.js +34 -6
  95. package/dist/core/AuthTokenService.test.js +3 -3
  96. package/dist/core/EntitlementsPolicy.test.js +2 -2
  97. package/dist/core/GlobalSettingsService.js +127 -6
  98. package/dist/core/McpTokenService.d.ts +12 -0
  99. package/dist/core/McpTokenService.js +44 -1
  100. package/dist/core/PlanEntitlementService.d.ts +23 -2
  101. package/dist/core/PlanEntitlementService.js +343 -57
  102. package/dist/core/PlanFeatureCatalog.test.d.ts +1 -0
  103. package/dist/core/PlanFeatureCatalog.test.js +84 -0
  104. package/dist/core/PlanVersionPolicy.test.js +35 -2
  105. package/dist/core/PlanningEntities.test.js +418 -4
  106. package/dist/core/SignupMonetizationSettings.test.js +199 -27
  107. package/dist/core/SyncReconciliationService.js +2 -65
  108. package/dist/core/SystemAdmin.test.js +42 -42
  109. package/dist/core/TaskActivityService.d.ts +28 -1
  110. package/dist/core/TaskActivityService.js +227 -46
  111. package/dist/core/TaskActivitySync.test.d.ts +1 -0
  112. package/dist/core/TaskActivitySync.test.js +90 -0
  113. package/dist/core/TaskAttachmentsCanonical.test.js +51 -1
  114. package/dist/core/TaskAuditTimeline.test.js +96 -0
  115. package/dist/core/Taskforce.d.ts +415 -40
  116. package/dist/core/Taskforce.ids.test.js +58 -0
  117. package/dist/core/Taskforce.js +1543 -266
  118. package/dist/core/Taskforce.listTasksSlim.test.d.ts +1 -0
  119. package/dist/core/Taskforce.listTasksSlim.test.js +91 -0
  120. package/dist/core/Taskforce.mcpAuth.test.js +109 -0
  121. package/dist/core/UserProfileAvatarDrafts.test.js +30 -3
  122. package/dist/core/WorkspaceLifecycleService.js +0 -5
  123. package/dist/core/WorkspacePermissions.test.js +25 -1
  124. package/dist/core/WorkspacePlanMode.test.js +117 -16
  125. package/dist/core/shared.d.ts +1 -1
  126. package/dist/core/shared.js +5 -1
  127. package/dist/core/types.d.ts +75 -2
  128. package/dist/hooks/auth/useTaskforceAuthBootstrap.js +28 -2
  129. package/dist/hooks/bootstrapTimeouts.d.ts +4 -0
  130. package/dist/hooks/bootstrapTimeouts.js +8 -0
  131. package/dist/hooks/bootstrapTimeouts.test.d.ts +1 -0
  132. package/dist/hooks/bootstrapTimeouts.test.js +12 -0
  133. package/dist/hooks/sync/bootstrap.js +2 -0
  134. package/dist/hooks/sync/controlPlane.d.ts +37 -0
  135. package/dist/hooks/sync/controlPlane.js +78 -0
  136. package/dist/hooks/sync/controlPlane.test.d.ts +1 -0
  137. package/dist/hooks/sync/controlPlane.test.js +121 -0
  138. package/dist/hooks/sync/lifecyclePolicy.d.ts +45 -0
  139. package/dist/hooks/sync/lifecyclePolicy.js +93 -0
  140. package/dist/hooks/sync/lifecyclePolicy.test.d.ts +1 -0
  141. package/dist/hooks/sync/lifecyclePolicy.test.js +124 -0
  142. package/dist/hooks/sync/orchestratorShared.d.ts +13 -4
  143. package/dist/hooks/sync/orchestratorShared.js +129 -48
  144. package/dist/hooks/sync/orchestratorShared.test.js +50 -1
  145. package/dist/hooks/sync/pullLifecycle.d.ts +31 -0
  146. package/dist/hooks/sync/pullLifecycle.js +24 -0
  147. package/dist/hooks/sync/pullLifecycle.test.d.ts +1 -0
  148. package/dist/hooks/sync/pullLifecycle.test.js +80 -0
  149. package/dist/hooks/sync/recovery.d.ts +16 -2
  150. package/dist/hooks/sync/recovery.js +179 -53
  151. package/dist/hooks/sync/recovery.test.d.ts +1 -0
  152. package/dist/hooks/sync/recovery.test.js +292 -0
  153. package/dist/hooks/sync/transfers.d.ts +16 -3
  154. package/dist/hooks/sync/transfers.js +210 -66
  155. package/dist/hooks/sync/transfers.test.d.ts +1 -0
  156. package/dist/hooks/sync/transfers.test.js +928 -0
  157. package/dist/hooks/sync/useRecentSyncEvents.d.ts +21 -0
  158. package/dist/hooks/sync/useRecentSyncEvents.js +92 -0
  159. package/dist/hooks/sync/useRecentSyncEvents.test.d.ts +1 -0
  160. package/dist/hooks/sync/useRecentSyncEvents.test.js +124 -0
  161. package/dist/hooks/sync/useSyncStatusActions.d.ts +30 -0
  162. package/dist/hooks/sync/useSyncStatusActions.js +88 -0
  163. package/dist/hooks/sync/useSyncStatusActions.test.d.ts +1 -0
  164. package/dist/hooks/sync/useSyncStatusActions.test.js +133 -0
  165. package/dist/hooks/sync/useSyncStatusControls.d.ts +25 -0
  166. package/dist/hooks/sync/useSyncStatusControls.js +60 -0
  167. package/dist/hooks/sync/useSyncStatusControls.test.d.ts +1 -0
  168. package/dist/hooks/sync/useSyncStatusControls.test.js +88 -0
  169. package/dist/hooks/useFilterSort.js +13 -13
  170. package/dist/hooks/useFilterSort.test.js +87 -1
  171. package/dist/hooks/useSyncOrchestrator.aiProfiles.test.js +12 -0
  172. package/dist/hooks/useSyncOrchestrator.d.ts +9 -2
  173. package/dist/hooks/useSyncOrchestrator.js +409 -183
  174. package/dist/hooks/useSyncOrchestrator.retry-closure.test.js +407 -0
  175. package/dist/hooks/useTaskData.js +8 -3
  176. package/dist/hooks/useTaskData.test.js +45 -0
  177. package/dist/hooks/useTaskforce.d.ts +145 -52
  178. package/dist/hooks/useTaskforce.js +592 -253
  179. package/dist/hooks/useTaskforce.runtime-routing.test.d.ts +1 -0
  180. package/dist/hooks/useTaskforce.runtime-routing.test.js +246 -0
  181. package/dist/hooks/useTaskforce.sync-behavior.test.js +2468 -201
  182. package/dist/hooks/useWorkspaceSyncController.d.ts +1 -0
  183. package/dist/hooks/useWorkspaceSyncController.js +13 -2
  184. package/dist/hooks/useWorkspaceSyncController.test.js +48 -0
  185. package/dist/hooks/workspace/useTaskforceWorkspaceBootstrap.d.ts +16 -0
  186. package/dist/hooks/workspace/useTaskforceWorkspaceBootstrap.js +328 -40
  187. package/dist/localization/locales/en-US.d.ts +0 -1
  188. package/dist/localization/locales/en-US.js +0 -1
  189. package/dist/localization/locales/es-419.js +0 -1
  190. package/dist/localization/locales/pt-BR.js +0 -1
  191. package/dist/mcp/canonicalAssetHelpers.d.ts +16 -4
  192. package/dist/mcp/canonicalAssetHelpers.js +18 -10
  193. package/dist/mcp/canonicalAssetHelpers.test.d.ts +1 -0
  194. package/dist/mcp/canonicalAssetHelpers.test.js +67 -0
  195. package/dist/mcp/clientIntegrations.d.ts +1 -0
  196. package/dist/mcp/clientIntegrations.js +25 -0
  197. package/dist/mcp/clientIntegrations.test.js +14 -3
  198. package/dist/mcp/clientProfileDefaults.js +3 -3
  199. package/dist/mcp/collaborationRegistrar.js +7 -7
  200. package/dist/mcp/documentAssetRegistrar.js +116 -10
  201. package/dist/mcp/runtime.d.ts +3 -0
  202. package/dist/mcp/runtime.js +1099 -185
  203. package/dist/mcp/runtime.test.js +1491 -140
  204. package/dist/mcp/taskAttachmentTypes.d.ts +1 -1
  205. package/dist/mcp/taskPlanningRegistrar.js +48 -0
  206. package/dist/mcp/toolRegistry.d.ts +56 -0
  207. package/dist/mcp/toolRegistry.js +8 -0
  208. package/dist/mcp/toolRegistry.test.js +4 -0
  209. package/dist/migrations/taskSchemaMigrations.d.ts +1 -1
  210. package/dist/migrations/taskSchemaMigrations.js +192 -61
  211. package/dist/migrations/taskSchemaMigrations.test.js +15 -0
  212. package/dist/resources/templates/workflow-sources/workflowDocs.mjs +6 -6
  213. package/dist/resources/templates/workflows/collaborate.yaml +1 -1
  214. package/dist/resources/templates/workflows/evaluate.yaml +2 -2
  215. package/dist/resources/templates/workflows/plan.yaml +1 -1
  216. package/dist/resources/templates/workflows/review.yaml +2 -2
  217. package/dist/server/aiProfileAvatarAssets.d.ts +49 -0
  218. package/dist/server/aiProfileAvatarAssets.js +319 -0
  219. package/dist/server/aiProfileAvatarAssets.test.d.ts +1 -0
  220. package/dist/server/aiProfileAvatarAssets.test.js +213 -0
  221. package/dist/server/annotatedAttachmentsRoutes.test.js +69 -10
  222. package/dist/server/auth/providers/apple.d.ts +33 -0
  223. package/dist/server/auth/providers/apple.js +82 -0
  224. package/dist/server/auth/providers/appleClientSecret.d.ts +37 -0
  225. package/dist/server/auth/providers/appleClientSecret.js +65 -0
  226. package/dist/server/auth/providers/github.d.ts +26 -0
  227. package/dist/server/auth/providers/github.js +86 -0
  228. package/dist/server/auth/providers/google.d.ts +21 -0
  229. package/dist/server/auth/providers/google.js +56 -0
  230. package/dist/server/auth/providers/types.d.ts +21 -0
  231. package/dist/server/auth/providers/types.js +1 -0
  232. package/dist/server/auth.d.ts +2 -0
  233. package/dist/server/auth.js +6 -3
  234. package/dist/server/documentReviewRoutes.test.js +36 -3
  235. package/dist/server/index.cookieProxy.test.js +1 -0
  236. package/dist/server/index.d.ts +12 -0
  237. package/dist/server/index.js +124 -9
  238. package/dist/server/index.rateLimit.test.js +3 -0
  239. package/dist/server/index.test.js +111 -3
  240. package/dist/server/routes/admin.d.ts +3 -0
  241. package/dist/server/routes/admin.js +459 -28
  242. package/dist/server/routes/annotatedAttachments.js +51 -0
  243. package/dist/server/routes/auth.d.ts +26 -2
  244. package/dist/server/routes/auth.js +1170 -71
  245. package/dist/server/routes/authSupport.d.ts +5 -1
  246. package/dist/server/routes/authSupport.js +13 -2
  247. package/dist/server/routes/billing.js +372 -35
  248. package/dist/server/routes/billing.test.js +595 -12
  249. package/dist/server/routes/documents.d.ts +1 -0
  250. package/dist/server/routes/documents.js +182 -70
  251. package/dist/server/routes/shared.d.ts +28 -2
  252. package/dist/server/routes/shared.js +69 -14
  253. package/dist/server/routes/sync.integration.test.js +658 -39
  254. package/dist/server/routes/sync.js +74 -608
  255. package/dist/server/routes/syncAuxRoutes.d.ts +15 -0
  256. package/dist/server/routes/syncAuxRoutes.js +91 -0
  257. package/dist/server/routes/syncAuxRoutes.test.d.ts +1 -0
  258. package/dist/server/routes/syncAuxRoutes.test.js +158 -0
  259. package/dist/server/routes/syncPullApplyRoutes.d.ts +36 -0
  260. package/dist/server/routes/syncPullApplyRoutes.js +204 -0
  261. package/dist/server/routes/syncPushRoutes.d.ts +24 -0
  262. package/dist/server/routes/syncPushRoutes.js +212 -0
  263. package/dist/server/routes/syncRouteGuards.d.ts +36 -0
  264. package/dist/server/routes/syncRouteGuards.js +67 -0
  265. package/dist/server/routes/syncRouteGuards.test.d.ts +1 -0
  266. package/dist/server/routes/syncRouteGuards.test.js +94 -0
  267. package/dist/server/routes/syncRouteTypes.d.ts +13 -0
  268. package/dist/server/routes/syncRouteTypes.js +1 -0
  269. package/dist/server/routes/syncSnapshotRoutes.d.ts +66 -0
  270. package/dist/server/routes/syncSnapshotRoutes.js +182 -0
  271. package/dist/server/routes/tasks.js +55 -10
  272. package/dist/server/routes/workspaces.js +36 -5
  273. package/dist/server/routes.js +147 -11
  274. package/dist/server/routes.test.js +2704 -183
  275. package/dist/services/workflowExportSnapshots.test.js +2 -0
  276. package/dist/shared/aiProfileSeatScope.d.ts +5 -0
  277. package/dist/shared/aiProfileSeatScope.js +21 -0
  278. package/dist/shared/aiProfileSurfaceType.d.ts +1 -1
  279. package/dist/shared/aiProfileSurfaceType.js +10 -8
  280. package/dist/shared/passwordPolicy.d.ts +13 -0
  281. package/dist/shared/passwordPolicy.js +84 -0
  282. package/dist/shared/passwordPolicy.test.d.ts +1 -0
  283. package/dist/shared/passwordPolicy.test.js +34 -0
  284. package/dist/storage/objectStorage.d.ts +1 -0
  285. package/dist/storage/objectStorage.js +2 -1
  286. package/dist/storage/objectStorageClient.d.ts +1 -0
  287. package/dist/storage/objectStorageClient.js +41 -8
  288. package/dist/storage/objectStorageClient.test.js +26 -1
  289. package/dist/storage/objectStorageConfig.js +3 -1
  290. package/dist/storage/objectStorageConfig.test.js +13 -1
  291. package/dist/storage/workspaceAssetStore.d.ts +15 -3
  292. package/dist/storage/workspaceAssetStore.js +132 -44
  293. package/dist/storage/workspaceAssetStore.test.js +93 -6
  294. package/dist/styles/fonts.css +70 -0
  295. package/dist/sync/collaborationSyncPayload.d.ts +6 -1
  296. package/dist/sync/collaborationSyncPayload.js +19 -11
  297. package/dist/sync/collaborationSyncPayload.test.js +14 -1
  298. package/dist/sync/collaborationSyncState.d.ts +3 -3
  299. package/dist/sync/collaborationSyncState.js +19 -12
  300. package/dist/sync/contentSyncPayload.d.ts +5 -1
  301. package/dist/sync/contentSyncPayload.js +9 -0
  302. package/dist/sync/contentSyncPayload.test.js +39 -0
  303. package/dist/sync/contentSyncState.d.ts +9 -9
  304. package/dist/sync/contentSyncState.js +248 -107
  305. package/dist/sync/planningSyncPayload.js +5 -0
  306. package/dist/sync/planningSyncPayload.test.js +24 -0
  307. package/dist/sync/syncApplyHandlers.d.ts +11 -4
  308. package/dist/sync/syncApplyHandlers.js +115 -42
  309. package/dist/sync/syncApplyHandlers.test.js +251 -4
  310. package/dist/sync/syncFieldSemantics.d.ts +12 -0
  311. package/dist/sync/syncFieldSemantics.js +55 -0
  312. package/dist/sync/syncResourceAdapters.d.ts +46 -0
  313. package/dist/sync/syncResourceAdapters.js +79 -0
  314. package/dist/sync/syncService.d.ts +6 -0
  315. package/dist/sync/syncService.js +65 -1
  316. package/dist/sync/syncService.test.js +96 -3
  317. package/dist/sync/taskSyncChangeKey.d.ts +2 -0
  318. package/dist/sync/taskSyncChangeKey.js +143 -0
  319. package/dist/sync/taskSyncPayload.js +3 -8
  320. package/dist/sync/workspacePullFeed.d.ts +4 -0
  321. package/dist/sync/workspacePullFeed.js +132 -72
  322. package/dist/sync/workspacePullFeed.test.js +92 -0
  323. package/dist/sync/workspaceRepair.js +5 -2
  324. package/dist/sync/workspaceSyncModel.d.ts +73 -6
  325. package/dist/sync/workspaceSyncModel.js +342 -73
  326. package/dist/sync/workspaceSyncModel.test.js +559 -14
  327. package/dist/sync/workspaceSyncState.d.ts +17 -0
  328. package/dist/sync/workspaceSyncState.js +2 -1
  329. package/dist/sync/workspaceSyncSurface.js +3 -8
  330. package/dist/types.d.ts +50 -2
  331. package/dist/ui/assets/AgentsModule-2y82_3DO.js +1 -0
  332. package/dist/ui/assets/AnnotatedAttachmentWorkspace-BTLZZCiQ.js +3 -0
  333. package/dist/ui/assets/AnnotatedAttachmentWorkspace-BVKew-mH.css +1 -0
  334. package/dist/ui/assets/ContextAttachmentManager-D2epuNnG.js +3 -0
  335. package/dist/ui/assets/CourierPrime-Bold-BuLj_dpw.woff2 +0 -0
  336. package/dist/ui/assets/CourierPrime-BoldItalic-BrK2pUkZ.woff2 +0 -0
  337. package/dist/ui/assets/CourierPrime-Italic-DFUZK5Ey.woff2 +0 -0
  338. package/dist/ui/assets/CourierPrime-Regular-BsKphzVf.woff2 +0 -0
  339. package/dist/ui/assets/DocumentWorkspace-D4rJKXzd.css +1 -0
  340. package/dist/ui/assets/DocumentWorkspace-sVa-3Do6.js +252 -0
  341. package/dist/ui/assets/EntityActivityTimeline-DyqvvhuF.css +1 -0
  342. package/dist/ui/assets/EntityActivityTimeline-Zods27y_.js +1 -0
  343. package/dist/ui/assets/{InitiativesModule-Dhm7M8e7.js → InitiativesModule-D4XseTwW.js} +1 -1
  344. package/dist/ui/assets/Noir_medium-bxQwKGzB.woff2 +0 -0
  345. package/dist/ui/assets/Noir_regular-ojf2kxlG.woff2 +0 -0
  346. package/dist/ui/assets/PlansPage-D5AcbO0L.js +1 -0
  347. package/dist/ui/assets/PlansPage-Dvqsz5zc.css +1 -0
  348. package/dist/ui/assets/RussoOne-Regular-Cu_qq_qC.woff2 +0 -0
  349. package/dist/ui/assets/SpecialElite-Regular-Di6gSvAS.woff2 +0 -0
  350. package/dist/ui/assets/TaskContextUpload-uC5qx4Bv.js +1 -0
  351. package/dist/ui/assets/TaskSettings-CqvPAsTv.js +9 -0
  352. package/dist/ui/assets/{WorkflowsModule-BcS4afRn.js → WorkflowsModule-oOA9bcdK.js} +4 -4
  353. package/dist/ui/assets/documentReferences-DPZuTgHh.js +1 -0
  354. package/dist/ui/assets/index-607WPo_X.js +4 -0
  355. package/dist/ui/assets/index-CYyodXsg.css +1 -0
  356. package/dist/ui/assets/{vendor-icons-BSUaRwF8.js → vendor-icons-B32hGuF2.js} +1 -1
  357. package/dist/ui/fonts/CourierPrime-Bold.ttf +0 -0
  358. package/dist/ui/fonts/CourierPrime-Bold.woff2 +0 -0
  359. package/dist/ui/fonts/CourierPrime-BoldItalic.ttf +0 -0
  360. package/dist/ui/fonts/CourierPrime-BoldItalic.woff2 +0 -0
  361. package/dist/ui/fonts/CourierPrime-Italic.ttf +0 -0
  362. package/dist/ui/fonts/CourierPrime-Italic.woff2 +0 -0
  363. package/dist/ui/fonts/CourierPrime-Regular.ttf +0 -0
  364. package/dist/ui/fonts/CourierPrime-Regular.woff2 +0 -0
  365. package/dist/ui/fonts/Noir_medium.otf +0 -0
  366. package/dist/ui/fonts/Noir_medium.woff2 +0 -0
  367. package/dist/ui/fonts/Noir_regular.otf +0 -0
  368. package/dist/ui/fonts/Noir_regular.woff2 +0 -0
  369. package/dist/ui/fonts/RussoOne-Regular.woff2 +0 -0
  370. package/dist/ui/fonts/SpecialElite-Regular.ttf +0 -0
  371. package/dist/ui/fonts/SpecialElite-Regular.woff2 +0 -0
  372. package/dist/ui/index.html +3 -3
  373. package/dist/ui/product/agent manager.png +0 -0
  374. package/dist/ui/product/agent_manager_02.png +0 -0
  375. package/dist/utils/accountProfileSummaryCache.d.ts +5 -0
  376. package/dist/utils/aiProfileEvents.d.ts +7 -0
  377. package/dist/utils/aiProfileEvents.js +6 -0
  378. package/dist/utils/assignees.d.ts +8 -0
  379. package/dist/utils/assignees.js +10 -1
  380. package/dist/utils/assignees.test.d.ts +1 -0
  381. package/dist/utils/assignees.test.js +25 -0
  382. package/dist/utils/avatarDisplay.d.ts +1 -0
  383. package/dist/utils/avatarDisplay.js +15 -0
  384. package/dist/utils/avatarUpload.d.ts +27 -0
  385. package/dist/utils/avatarUpload.js +132 -0
  386. package/dist/utils/avatarUpload.test.d.ts +1 -0
  387. package/dist/utils/avatarUpload.test.js +40 -0
  388. package/dist/utils/bootstrapTrace.d.ts +7 -0
  389. package/dist/utils/bootstrapTrace.js +29 -0
  390. package/dist/utils/commercialLifecyclePresentation.js +3 -0
  391. package/dist/utils/contextAssetEvents.d.ts +2 -0
  392. package/dist/utils/contextFiles.d.ts +3 -1
  393. package/dist/utils/contextFiles.js +2 -1
  394. package/dist/utils/syncEventDetails.d.ts +3 -0
  395. package/dist/utils/syncEventDetails.js +64 -0
  396. package/dist/utils/syncEventDetails.test.d.ts +1 -0
  397. package/dist/utils/syncEventDetails.test.js +23 -0
  398. package/dist/utils/syncEventPresentation.d.ts +15 -0
  399. package/dist/utils/syncEventPresentation.js +129 -0
  400. package/dist/utils/syncEventPresentation.test.d.ts +1 -0
  401. package/dist/utils/syncEventPresentation.test.js +64 -0
  402. package/dist/utils/syncStatusPresentation.d.ts +72 -0
  403. package/dist/utils/syncStatusPresentation.js +217 -0
  404. package/dist/utils/syncStatusPresentation.test.d.ts +1 -0
  405. package/dist/utils/syncStatusPresentation.test.js +164 -0
  406. package/dist/utils/taskActivity.d.ts +9 -1
  407. package/dist/utils/taskActivity.js +290 -22
  408. package/dist/utils/taskActivity.test.js +141 -8
  409. package/dist/utils/taskSearch.d.ts +22 -0
  410. package/dist/utils/taskSearch.js +87 -0
  411. package/dist/utils/taskSearch.test.d.ts +1 -0
  412. package/dist/utils/taskSearch.test.js +69 -0
  413. package/dist/utils/taskUtils.js +10 -3
  414. package/dist/utils/taskUtils.test.d.ts +1 -0
  415. package/dist/utils/taskUtils.test.js +19 -0
  416. package/dist/utils/workspaceSyncPresentation.d.ts +4 -0
  417. package/dist/utils/workspaceSyncPresentation.js +68 -2
  418. package/dist/utils/workspaceSyncPresentation.test.js +36 -1
  419. package/package.json +3 -2
  420. package/scripts/export-sqlite-to-postgres.mjs +7 -9
  421. package/scripts/run-e2e-realtime.sh +17 -3
  422. package/scripts/run-smoke.sh +17 -5
  423. package/scripts/run-soak.sh +17 -5
  424. package/src/resources/templates/workflow-sources/workflowDocs.mjs +6 -6
  425. package/src/resources/templates/workflows/collaborate.yaml +1 -1
  426. package/src/resources/templates/workflows/evaluate.yaml +2 -2
  427. package/src/resources/templates/workflows/plan.yaml +1 -1
  428. package/src/resources/templates/workflows/review.yaml +2 -2
  429. package/dist/ui/assets/AgentsModule-N2MnQBZk.js +0 -1
  430. package/dist/ui/assets/AnnotatedAttachmentWorkspace-BG6P_GVW.js +0 -3
  431. package/dist/ui/assets/AnnotatedAttachmentWorkspace-BaS2VwIr.css +0 -1
  432. package/dist/ui/assets/DocumentWorkspace-B3nV_Gc5.css +0 -1
  433. package/dist/ui/assets/DocumentWorkspace-DRbDMwh8.js +0 -252
  434. package/dist/ui/assets/PlansPage-C2dd2n1X.css +0 -1
  435. package/dist/ui/assets/PlansPage-Cq0zXj3I.js +0 -1
  436. package/dist/ui/assets/RussoOne-Regular-C3BxZIj7.ttf +0 -0
  437. package/dist/ui/assets/TaskSettings-ln0aF7xc.js +0 -9
  438. package/dist/ui/assets/index-C2-OXZV7.css +0 -1
  439. package/dist/ui/assets/index-DcSI5F86.js +0 -6
  440. package/scripts/migrate-planning-model.ts +0 -233
@@ -1,4 +1,39 @@
1
- import type { TaskforceConfig, TaskforceTheme, Comment, AttachmentItem, CategoryConfig, TaskItem, TaxonomyDefinition, Environment, TaskAssignee, TaskStatus, DeletedTaskRecord, InitiativeItem, WorkstreamItem, ChecklistItem } from '../types';
1
+ /**
2
+ * useTaskforce
3
+ *
4
+ * Central React hook for the Taskforce task-management system.
5
+ * Orchestrates all application state: runtime config, auth, workspace,
6
+ * bootstrap, task data, filtering/sorting, form editing, settings,
7
+ * sync, and UI notices.
8
+ *
9
+ * SECTION MAP (use Ctrl+F on the === markers to jump):
10
+ * === SECTION: Runtime Config === Line ~189 — URL resolution, cloud/local mode detection
11
+ * === SECTION: Settings State === Line ~388 — Theme, shortcut, locale, feature flags
12
+ * === SECTION: Workspace Storage === Line ~415 — workspaceStorageScope, project root/name
13
+ * === SECTION: Auth State === Line ~426 — isAuthenticated, authBlocked, userId, beta access
14
+ * === SECTION: Bootstrap State === Line ~442 — bootstrapPhase, setupState, runtimeCapabilities
15
+ * === SECTION: Fetch Intercept === Line ~490 — window.fetch patch for cloud API routing
16
+ * === SECTION: Workflow Templates === Line ~577 — fetchWorkflows, fetchInitiativeTemplates
17
+ * === SECTION: Export State === Line ~678 — exportEnvironment, exportWorkflowsPath
18
+ * === SECTION: Task State === Line ~1065 — tasks, archivedTasks, editingTaskId
19
+ * === SECTION: Filter & Sort State === Line ~1394 — searchQuery, filterCategories, sortBy, sortOrder
20
+ * === SECTION: UI State === Line ~1469 — uiStateReady, persisted UI preferences
21
+ * === SECTION: Config Fetch === Line ~1578 — fetchConfig (the main bootstrap loader)
22
+ * === SECTION: Workspace Actions === Line ~1855 — fetchWorkspaces, switchWorkspace, createWorkspace
23
+ * === SECTION: Auth Actions === Line ~2210 — loginWithCredentials, logout, invite flows
24
+ * === SECTION: Task Fetch === Line ~2158 — fetchTasks, fetchArchive, refreshTaskCollections
25
+ * === SECTION: Bootstrap Effects === Line ~2641 — initialization useEffects
26
+ * === SECTION: Filtering Logic === Line ~3068 — filteredTasks, searchAgnosticTasks, filteredArchive
27
+ * === SECTION: Navigation === Line ~3410 — setActiveTab, handleNavigation
28
+ * === SECTION: Form === Line ~3489 — resetForm, handleEdit, handleSubmit, saveTask
29
+ * === SECTION: Task CRUD === Line ~3691 — handleDelete, handleUpdateTask, handleToggle*
30
+ * === SECTION: Planning Links === Line ~4129 — workstream and initiative link handlers
31
+ * === SECTION: Category/Type Mgmt === Line ~4462 — handleSaveCategory, handleRemoveCategory
32
+ * === SECTION: Settings Model === Line ~4625 — settingsModel object
33
+ * === SECTION: Return Value === Line ~4817 — final return object (public API shape)
34
+ */
35
+ import { type Dispatch, type SetStateAction } from 'react';
36
+ import type { TaskforceConfig, TaskforceTheme, Comment, AttachmentItem, CategoryConfig, TaskItem, TaxonomyDefinition, Environment, TaskAssignee, TaskStatus, DeletedTaskRecord, InitiativeItem, WorkstreamItem, ChecklistItem, PlanningBootstrapWorkstreamTaskSummary } from '../types';
2
37
  import { type FirstClassTaxonomyDisplayLabels } from '../shared/taxonomyState.js';
3
38
  import type { UiNotice } from '../utils/uiNotice';
4
39
  import type { TaskAssigneeOption } from '../utils/assignees';
@@ -37,6 +72,27 @@ interface RuntimeCapabilities {
37
72
  supportsAdminManagedSetupOverrides: boolean;
38
73
  supportsPackageScriptSetupOverrides: boolean;
39
74
  }
75
+ interface BootstrapStateSnapshot {
76
+ phase: BootstrapPhase;
77
+ auth: {
78
+ resolved: boolean;
79
+ pending: boolean;
80
+ };
81
+ config: {
82
+ loaded: boolean;
83
+ };
84
+ workspace: {
85
+ pending: boolean;
86
+ };
87
+ pending: boolean;
88
+ authPending: boolean;
89
+ appPending: boolean;
90
+ ready: boolean;
91
+ stalled: boolean;
92
+ subtitle: string;
93
+ error: string | null;
94
+ startedAt: number | null;
95
+ }
40
96
  interface WorkspaceSummary {
41
97
  id: string;
42
98
  slug?: string | null;
@@ -85,31 +141,31 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
85
141
  showTaskCardStatusLabel: boolean;
86
142
  };
87
143
  isOpen: boolean;
88
- setIsOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
144
+ setIsOpen: Dispatch<SetStateAction<boolean>>;
89
145
  activeTab: "tasks" | "settings" | "add";
90
146
  setActiveTab: (tab: "add" | "tasks" | "settings") => void;
91
147
  currentTheme: "light" | "dawn" | "dark" | "midnight";
92
- setCurrentTheme: import("react").Dispatch<import("react").SetStateAction<"light" | "dawn" | "dark" | "midnight">>;
148
+ setCurrentTheme: Dispatch<SetStateAction<"light" | "dawn" | "dark" | "midnight">>;
93
149
  configLoaded: boolean;
94
150
  storagePath: string;
95
151
  saveSettings: () => Promise<boolean>;
96
152
  pathSaved: boolean;
97
153
  keyShortcut: string;
98
- setKeyShortcut: import("react").Dispatch<import("react").SetStateAction<string>>;
154
+ setKeyShortcut: Dispatch<SetStateAction<string>>;
99
155
  globalWeekStartsOn: WeekStartsOn;
100
156
  locale: "en-US" | "es-419" | "pt-BR";
101
157
  supportedLocales: ("en-US" | "es-419" | "pt-BR")[];
102
158
  saveLocale: (nextLocale: string) => Promise<boolean>;
103
159
  jsonBackupEnabled: boolean;
104
- setJsonBackupEnabled: import("react").Dispatch<import("react").SetStateAction<boolean>>;
160
+ setJsonBackupEnabled: Dispatch<SetStateAction<boolean>>;
105
161
  manualComplexityEnabled: boolean;
106
162
  checklistDropdownEnabled: boolean;
107
163
  showTaskCardStatusLabel: boolean;
108
- setManualComplexityEnabled: import("react").Dispatch<import("react").SetStateAction<boolean>>;
164
+ setManualComplexityEnabled: Dispatch<SetStateAction<boolean>>;
109
165
  mcpHostRoot: string;
110
- setMcpHostRoot: import("react").Dispatch<import("react").SetStateAction<string>>;
166
+ setMcpHostRoot: Dispatch<SetStateAction<string>>;
111
167
  settingsSection: "mcp" | "categories" | "types" | "general" | "agents" | "taxonomy" | "documents" | "appearance-application" | "appearance-task-cards" | "appearance-task-forms" | "commands" | "workflow-editor" | "integrations" | "resources" | null;
112
- setSettingsSection: import("react").Dispatch<import("react").SetStateAction<"mcp" | "categories" | "types" | "general" | "agents" | "taxonomy" | "documents" | "appearance-application" | "appearance-task-cards" | "appearance-task-forms" | "commands" | "workflow-editor" | "integrations" | "resources" | null>>;
168
+ setSettingsSection: Dispatch<SetStateAction<"mcp" | "categories" | "types" | "general" | "agents" | "taxonomy" | "documents" | "appearance-application" | "appearance-task-cards" | "appearance-task-forms" | "commands" | "workflow-editor" | "integrations" | "resources" | null>>;
113
169
  runtimeMode: "local" | "cloud";
114
170
  workspaceMode: "single-local" | "multi-cloud";
115
171
  workspaceSwitchingEnabled: boolean;
@@ -122,7 +178,7 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
122
178
  authUserDisplayName: string;
123
179
  authUserAvatarUrl: string;
124
180
  authWorkspaceId: string;
125
- userGlobalSyncStatus: "error" | "idle" | "disconnected" | "syncing";
181
+ userGlobalSyncStatus: "error" | "idle" | "syncing" | "disconnected";
126
182
  workspaceLastPullAt: string | null;
127
183
  workspaceLastPushAt: string | null;
128
184
  workspaceLastErrorAt: string | null;
@@ -152,6 +208,13 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
152
208
  pendingChanges: number;
153
209
  lastErrorMessage: string | null;
154
210
  recommendedAction: string;
211
+ pushBlockedReason: import("./sync/controlPlane").WorkspaceSyncBlockedReason | null;
212
+ pullBlockedReason: import("./sync/controlPlane").WorkspaceSyncBlockedReason | null;
213
+ retryBlockedReason: import("./sync/controlPlane").WorkspaceSyncBlockedReason | null;
214
+ repairActive: boolean;
215
+ pushInFlight: boolean;
216
+ pullInFlight: boolean;
217
+ retryPending: boolean;
155
218
  documentSnapshotCount: number;
156
219
  aiProfileSnapshotCount: number;
157
220
  aiProfileSnapshotRawCount: number;
@@ -185,6 +248,7 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
185
248
  enabled: boolean;
186
249
  phase?: import("../sync/workspaceSyncState").WorkspaceSyncPhase | null;
187
250
  }) => void>[0]) => void;
251
+ bootstrapState: BootstrapStateSnapshot;
188
252
  authSessionResolved: boolean;
189
253
  workspaceBootstrapPending: boolean;
190
254
  bootstrapPhase: BootstrapPhase;
@@ -242,6 +306,31 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
242
306
  code?: string;
243
307
  workspaceSetupRequired?: boolean;
244
308
  }>;
309
+ beginOAuthLogin: (provider: string, returnTo?: string, inviteToken?: string) => void;
310
+ availableAuthProviders: string[];
311
+ fetchLoginMethods: () => Promise<{
312
+ success: boolean;
313
+ error?: string;
314
+ methods?: Array<{
315
+ provider: string;
316
+ providerEmail: string | null;
317
+ displayNameSnapshot: string | null;
318
+ avatarUrlSnapshot: string | null;
319
+ linkedAt: string | null;
320
+ lastLoginAt: string | null;
321
+ }>;
322
+ }>;
323
+ unlinkLoginMethod: (provider: string) => Promise<{
324
+ success: boolean;
325
+ error?: string;
326
+ code?: string;
327
+ }>;
328
+ addPasswordToAccount: (password: string) => Promise<{
329
+ success: boolean;
330
+ error?: string;
331
+ code?: string;
332
+ }>;
333
+ beginOAuthLink: (provider: string, returnTo?: string) => void;
245
334
  registerWithCredentials: (email: string, password: string, options?: {
246
335
  displayName?: string | null;
247
336
  planId?: string | null;
@@ -312,6 +401,8 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
312
401
  workspaceId?: string;
313
402
  inviteeKind?: "existing_user" | "new_user";
314
403
  passwordRequired?: boolean;
404
+ inviteeState?: "pending_setup" | "existing_account";
405
+ availableMethods?: string[];
315
406
  }>;
316
407
  acceptInviteWithToken: (token: string, password: string) => Promise<{
317
408
  success: boolean;
@@ -327,7 +418,7 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
327
418
  }>;
328
419
  logout: () => Promise<void>;
329
420
  showFolderBrowser: boolean;
330
- setShowFolderBrowser: import("react").Dispatch<import("react").SetStateAction<boolean>>;
421
+ setShowFolderBrowser: Dispatch<SetStateAction<boolean>>;
331
422
  folders: string[];
332
423
  files: string[];
333
424
  currentBrowsePath: string;
@@ -336,16 +427,16 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
336
427
  type: "category";
337
428
  value: string;
338
429
  } | null;
339
- setBrowserTarget: import("react").Dispatch<import("react").SetStateAction<"storage" | {
430
+ setBrowserTarget: Dispatch<SetStateAction<"storage" | {
340
431
  type: "category";
341
432
  value: string;
342
433
  } | null>>;
343
434
  groupBy: "category" | "type" | "priority" | "status" | "complexity" | "approach" | "assignee" | "schedule";
344
- setGroupBy: import("react").Dispatch<import("react").SetStateAction<"category" | "type" | "priority" | "status" | "complexity" | "approach" | "assignee" | "schedule">>;
435
+ setGroupBy: Dispatch<SetStateAction<"category" | "type" | "priority" | "status" | "complexity" | "approach" | "assignee" | "schedule">>;
345
436
  activeWorkspaceModule: WorkspaceModuleId;
346
- setActiveWorkspaceModule: import("react").Dispatch<import("react").SetStateAction<WorkspaceModuleId>>;
437
+ setActiveWorkspaceModule: Dispatch<SetStateAction<WorkspaceModuleId>>;
347
438
  emptyColumnMode: "show" | "collapse" | "hide";
348
- setEmptyColumnMode: import("react").Dispatch<import("react").SetStateAction<"show" | "collapse" | "hide">>;
439
+ setEmptyColumnMode: Dispatch<SetStateAction<"show" | "collapse" | "hide">>;
349
440
  zenMode: boolean;
350
441
  setZenMode: () => Promise<void>;
351
442
  handleSelectPath: (path: string) => void;
@@ -356,6 +447,7 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
356
447
  archivedTasks: TaskItem[];
357
448
  initiatives: InitiativeItem[];
358
449
  workstreams: WorkstreamItem[];
450
+ planningBootstrapTaskSummaries: PlanningBootstrapWorkstreamTaskSummary[];
359
451
  deletedTasks: DeletedTaskRecord[];
360
452
  activeCategories: CategoryConfig[];
361
453
  activeTypes: {
@@ -381,35 +473,36 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
381
473
  }[];
382
474
  taxonomies: TaxonomyDefinition[];
383
475
  searchQuery: string;
384
- setSearchQuery: import("react").Dispatch<import("react").SetStateAction<string>>;
476
+ setSearchQuery: Dispatch<SetStateAction<string>>;
385
477
  filterCategories: string[];
386
- setFilterCategories: import("react").Dispatch<import("react").SetStateAction<string[]>>;
478
+ setFilterCategories: Dispatch<SetStateAction<string[]>>;
387
479
  filterTypes: string[];
388
- setFilterTypes: import("react").Dispatch<import("react").SetStateAction<string[]>>;
480
+ setFilterTypes: Dispatch<SetStateAction<string[]>>;
389
481
  filterPriorities: (string | number)[];
390
- setFilterPriorities: import("react").Dispatch<import("react").SetStateAction<(string | number)[]>>;
482
+ setFilterPriorities: Dispatch<SetStateAction<(string | number)[]>>;
391
483
  filterStatus: (string | number)[];
392
- setFilterStatus: import("react").Dispatch<import("react").SetStateAction<(string | number)[]>>;
484
+ setFilterStatus: Dispatch<SetStateAction<(string | number)[]>>;
393
485
  filterAssignees: string[];
394
486
  setFilterAssignees: (nextValues: TaskAssignee[] | ((prev: TaskAssignee[]) => TaskAssignee[])) => void;
395
487
  filterTaxonomies: Record<string, (string | number)[]>;
396
- setFilterTaxonomies: import("react").Dispatch<import("react").SetStateAction<Record<string, (string | number)[]>>>;
488
+ setFilterTaxonomies: Dispatch<SetStateAction<Record<string, (string | number)[]>>>;
489
+ hasInitedFilters: boolean;
397
490
  sortBy: import("../utils/taxonomySorting").TaskSortKey;
398
- setSortBy: import("react").Dispatch<import("react").SetStateAction<import("../utils/taxonomySorting").TaskSortKey>>;
491
+ setSortBy: Dispatch<SetStateAction<import("../utils/taxonomySorting").TaskSortKey>>;
399
492
  sortOrder: "asc" | "desc";
400
- setSortOrder: import("react").Dispatch<import("react").SetStateAction<"asc" | "desc">>;
493
+ setSortOrder: Dispatch<SetStateAction<"asc" | "desc">>;
401
494
  toggleSortOrder: () => void;
402
495
  showArchive: boolean;
403
- setShowArchive: import("react").Dispatch<import("react").SetStateAction<boolean>>;
496
+ setShowArchive: Dispatch<SetStateAction<boolean>>;
404
497
  taskScope: TaskScope;
405
- setTaskScope: import("react").Dispatch<import("react").SetStateAction<TaskScope>>;
498
+ setTaskScope: Dispatch<SetStateAction<TaskScope>>;
406
499
  clearFilters: () => void;
407
500
  filteredTasks: TaskItem[];
408
501
  searchAgnosticTasks: TaskItem[];
409
502
  filteredArchive: TaskItem[];
410
503
  groupedTasks: Record<string, TaskItem[]>;
411
504
  collapsedCategories: Record<string, boolean>;
412
- setCollapsedCategories: import("react").Dispatch<import("react").SetStateAction<Record<string, boolean>>>;
505
+ setCollapsedCategories: Dispatch<SetStateAction<Record<string, boolean>>>;
413
506
  fetchTasks: (isSilent?: boolean, options?: {
414
507
  ignoreAuthGuard?: boolean;
415
508
  }) => Promise<void>;
@@ -456,50 +549,50 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
456
549
  loading: boolean;
457
550
  error: string;
458
551
  title: string;
459
- setTitle: import("react").Dispatch<import("react").SetStateAction<string>>;
552
+ setTitle: Dispatch<SetStateAction<string>>;
460
553
  description: string;
461
- setDescription: import("react").Dispatch<import("react").SetStateAction<string>>;
554
+ setDescription: Dispatch<SetStateAction<string>>;
462
555
  checklistItems: ChecklistItem[];
463
- setChecklistItems: import("react").Dispatch<import("react").SetStateAction<ChecklistItem[]>>;
556
+ setChecklistItems: Dispatch<SetStateAction<ChecklistItem[]>>;
464
557
  category: string;
465
- setCategory: import("react").Dispatch<import("react").SetStateAction<string>>;
558
+ setCategory: Dispatch<SetStateAction<string>>;
466
559
  type: string;
467
- setType: import("react").Dispatch<import("react").SetStateAction<string>>;
560
+ setType: Dispatch<SetStateAction<string>>;
468
561
  priority: string | number;
469
- setPriority: import("react").Dispatch<import("react").SetStateAction<string | number>>;
562
+ setPriority: Dispatch<SetStateAction<string | number>>;
470
563
  complexity: string | number;
471
- setComplexity: import("react").Dispatch<import("react").SetStateAction<string | number>>;
564
+ setComplexity: Dispatch<SetStateAction<string | number>>;
472
565
  status: TaskStatus;
473
- setStatus: import("react").Dispatch<import("react").SetStateAction<TaskStatus>>;
566
+ setStatus: Dispatch<SetStateAction<TaskStatus>>;
474
567
  approach: string;
475
- setApproach: import("react").Dispatch<import("react").SetStateAction<string>>;
568
+ setApproach: Dispatch<SetStateAction<string>>;
476
569
  assignee: string;
477
- setAssignee: import("react").Dispatch<import("react").SetStateAction<string>>;
570
+ setAssignee: Dispatch<SetStateAction<string>>;
478
571
  scheduledDate: string;
479
- setScheduledDate: import("react").Dispatch<import("react").SetStateAction<string>>;
572
+ setScheduledDate: Dispatch<SetStateAction<string>>;
480
573
  dueDate: string;
481
- setDueDate: import("react").Dispatch<import("react").SetStateAction<string>>;
574
+ setDueDate: Dispatch<SetStateAction<string>>;
482
575
  workstreamInput: string;
483
- setWorkstreamInput: import("react").Dispatch<import("react").SetStateAction<string>>;
576
+ setWorkstreamInput: Dispatch<SetStateAction<string>>;
484
577
  formTaxonomies: Record<string, string | number | string[] | number[]>;
485
- setFormTaxonomies: import("react").Dispatch<import("react").SetStateAction<Record<string, string | number | string[] | number[]>>>;
578
+ setFormTaxonomies: Dispatch<SetStateAction<Record<string, string | number | string[] | number[]>>>;
486
579
  comments: Comment[];
487
580
  newCommentText: string;
488
- setNewCommentText: import("react").Dispatch<import("react").SetStateAction<string>>;
581
+ setNewCommentText: Dispatch<SetStateAction<string>>;
489
582
  attachments: (string | AttachmentItem)[];
490
- setAttachments: import("react").Dispatch<import("react").SetStateAction<(string | AttachmentItem)[]>>;
583
+ setAttachments: Dispatch<SetStateAction<(string | AttachmentItem)[]>>;
491
584
  attachmentsDirty: boolean;
492
- setAttachmentsDirty: import("react").Dispatch<import("react").SetStateAction<boolean>>;
585
+ setAttachmentsDirty: Dispatch<SetStateAction<boolean>>;
493
586
  descriptionFocused: boolean;
494
- setDescriptionFocused: import("react").Dispatch<import("react").SetStateAction<boolean>>;
587
+ setDescriptionFocused: Dispatch<SetStateAction<boolean>>;
495
588
  showMarkdownHelp: boolean;
496
- setShowMarkdownHelp: import("react").Dispatch<import("react").SetStateAction<boolean>>;
589
+ setShowMarkdownHelp: Dispatch<SetStateAction<boolean>>;
497
590
  showChecklist: boolean;
498
- setShowChecklist: import("react").Dispatch<import("react").SetStateAction<boolean>>;
591
+ setShowChecklist: Dispatch<SetStateAction<boolean>>;
499
592
  showComments: boolean;
500
- setShowComments: import("react").Dispatch<import("react").SetStateAction<boolean>>;
593
+ setShowComments: Dispatch<SetStateAction<boolean>>;
501
594
  isCapturingScreenshot: boolean;
502
- setIsCapturingScreenshot: import("react").Dispatch<import("react").SetStateAction<boolean>>;
595
+ setIsCapturingScreenshot: Dispatch<SetStateAction<boolean>>;
503
596
  handleSubmit: (event: React.FormEvent) => Promise<void>;
504
597
  resetForm: () => void;
505
598
  handleAddComment: (text: string) => Promise<void>;
@@ -508,7 +601,7 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
508
601
  returnToPreviousTask: () => boolean;
509
602
  autoSaveState: import("./tasks/useTaskFormActions").TaskAutoSaveState;
510
603
  unsavedModalOpen: boolean;
511
- setUnsavedModalOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
604
+ setUnsavedModalOpen: Dispatch<SetStateAction<boolean>>;
512
605
  pendingNavigation: (() => void) | null;
513
606
  handleNavigation: (action: () => void) => void;
514
607
  handleClose: () => void;
@@ -530,11 +623,11 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
530
623
  confirmScheduleWarning: () => Promise<void>;
531
624
  cancelScheduleWarning: () => void;
532
625
  tasksScrollRef: import("react").RefObject<HTMLDivElement | null>;
533
- setTasksScrollPos: import("react").Dispatch<import("react").SetStateAction<number>>;
626
+ setTasksScrollPos: Dispatch<SetStateAction<number>>;
534
627
  exportEnvironment: string;
535
- setExportEnvironment: import("react").Dispatch<import("react").SetStateAction<string>>;
628
+ setExportEnvironment: Dispatch<SetStateAction<string>>;
536
629
  exportWorkflowsPath: string;
537
- setExportWorkflowsPath: import("react").Dispatch<import("react").SetStateAction<string>>;
630
+ setExportWorkflowsPath: Dispatch<SetStateAction<string>>;
538
631
  exportResult: {
539
632
  type: "success" | "error";
540
633
  message: string;
@@ -569,7 +662,7 @@ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange,
569
662
  validatePaths: (paths: string[]) => Promise<void>;
570
663
  getCategoryPaths: (cat: CategoryConfig) => string[];
571
664
  customCategories: CategoryConfig[];
572
- setCustomCategories: import("react").Dispatch<import("react").SetStateAction<CategoryConfig[]>>;
665
+ setCustomCategories: Dispatch<SetStateAction<CategoryConfig[]>>;
573
666
  projectRoot: string;
574
667
  projectName: string;
575
668
  mcpScriptPath: string;