@taskforcehq/taskforce 0.3.168

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 (492) hide show
  1. package/README.md +241 -0
  2. package/dist/Taskforce.d.ts +3 -0
  3. package/dist/Taskforce.js +3 -0
  4. package/dist/Taskforce.module.css +7587 -0
  5. package/dist/TaskforceCore.CategoryFallback.test.d.ts +1 -0
  6. package/dist/TaskforceCore.CategoryFallback.test.js +98 -0
  7. package/dist/TaskforceCore.d.ts +12 -0
  8. package/dist/TaskforceCore.js +729 -0
  9. package/dist/TaskforceCore.test.d.ts +1 -0
  10. package/dist/TaskforceCore.test.js +2132 -0
  11. package/dist/TaskforceScreenshot.d.ts +11 -0
  12. package/dist/TaskforceScreenshot.js +113 -0
  13. package/dist/TaskforceWidget.d.ts +6 -0
  14. package/dist/TaskforceWidget.js +101 -0
  15. package/dist/TaskforceWidget.test.d.ts +1 -0
  16. package/dist/TaskforceWidget.test.js +92 -0
  17. package/dist/UnsavedChangesRelaxed.test.d.ts +1 -0
  18. package/dist/UnsavedChangesRelaxed.test.js +16 -0
  19. package/dist/__tests__/localizationCatalogs.test.d.ts +1 -0
  20. package/dist/__tests__/localizationCatalogs.test.js +37 -0
  21. package/dist/__tests__/planParser.test.d.ts +1 -0
  22. package/dist/__tests__/planParser.test.js +183 -0
  23. package/dist/__tests__/releaseVersion.test.d.ts +1 -0
  24. package/dist/__tests__/releaseVersion.test.js +32 -0
  25. package/dist/__tests__/structuredCommentValidation.test.d.ts +1 -0
  26. package/dist/__tests__/structuredCommentValidation.test.js +31 -0
  27. package/dist/__tests__/structuredDocValidation.test.d.ts +1 -0
  28. package/dist/__tests__/structuredDocValidation.test.js +30 -0
  29. package/dist/__tests__/templateEngine.test.d.ts +1 -0
  30. package/dist/__tests__/templateEngine.test.js +150 -0
  31. package/dist/__tests__/templates.test.d.ts +1 -0
  32. package/dist/__tests__/templates.test.js +45 -0
  33. package/dist/__tests__/workflowDocumentFixtures.test.d.ts +1 -0
  34. package/dist/__tests__/workflowDocumentFixtures.test.js +78 -0
  35. package/dist/__tests__/workflowExportMatrix.test.d.ts +1 -0
  36. package/dist/__tests__/workflowExportMatrix.test.js +113 -0
  37. package/dist/__tests__/workflowExportSnapshots.test.d.ts +1 -0
  38. package/dist/__tests__/workflowExportSnapshots.test.js +28 -0
  39. package/dist/__tests__/workflowGeneration.test.d.ts +1 -0
  40. package/dist/__tests__/workflowGeneration.test.js +12 -0
  41. package/dist/__tests__/workflowSimulation.test.d.ts +1 -0
  42. package/dist/__tests__/workflowSimulation.test.js +113 -0
  43. package/dist/__tests__/workflowV2Policy.test.d.ts +1 -0
  44. package/dist/__tests__/workflowV2Policy.test.js +80 -0
  45. package/dist/api.d.ts +30 -0
  46. package/dist/api.js +85 -0
  47. package/dist/cli.d.ts +2 -0
  48. package/dist/cli.js +217 -0
  49. package/dist/compat/priorityCompat.d.ts +2 -0
  50. package/dist/compat/priorityCompat.js +24 -0
  51. package/dist/components/features/DocumentGenerateModal.d.ts +9 -0
  52. package/dist/components/features/DocumentGenerateModal.js +114 -0
  53. package/dist/components/features/DocumentIndex.d.ts +19 -0
  54. package/dist/components/features/DocumentIndex.js +51 -0
  55. package/dist/components/features/DocumentViewer.d.ts +9 -0
  56. package/dist/components/features/DocumentViewer.js +253 -0
  57. package/dist/components/features/DocumentWorkspace.d.ts +21 -0
  58. package/dist/components/features/DocumentWorkspace.js +88 -0
  59. package/dist/components/features/TaskSettings.d.ts +209 -0
  60. package/dist/components/features/TaskSettings.js +500 -0
  61. package/dist/components/features/TaskSettings.test.d.ts +1 -0
  62. package/dist/components/features/TaskSettings.test.js +308 -0
  63. package/dist/components/features/settings/CategoryManager.d.ts +19 -0
  64. package/dist/components/features/settings/CategoryManager.js +113 -0
  65. package/dist/components/features/settings/TaxonomyEditor.d.ts +8 -0
  66. package/dist/components/features/settings/TaxonomyEditor.js +98 -0
  67. package/dist/components/features/settings/TaxonomyManager 2.d.ts +52 -0
  68. package/dist/components/features/settings/TaxonomyManager 2.js +75 -0
  69. package/dist/components/features/settings/TaxonomyManager.d.ts +54 -0
  70. package/dist/components/features/settings/TaxonomyManager.js +77 -0
  71. package/dist/components/features/settings/TypeManager.d.ts +10 -0
  72. package/dist/components/features/settings/TypeManager.js +50 -0
  73. package/dist/components/features/settings/WorkflowEditorPrototype.d.ts +15 -0
  74. package/dist/components/features/settings/WorkflowEditorPrototype.js +245 -0
  75. package/dist/components/task/TaskActionHeader.d.ts +20 -0
  76. package/dist/components/task/TaskActionHeader.js +13 -0
  77. package/dist/components/task/TaskCard.d.ts +47 -0
  78. package/dist/components/task/TaskCard.js +326 -0
  79. package/dist/components/task/TaskCard.test.d.ts +1 -0
  80. package/dist/components/task/TaskCard.test.js +95 -0
  81. package/dist/components/task/TaskContextUpload.d.ts +12 -0
  82. package/dist/components/task/TaskContextUpload.js +393 -0
  83. package/dist/components/task/TaskContextUpload.test.d.ts +1 -0
  84. package/dist/components/task/TaskContextUpload.test.js +189 -0
  85. package/dist/components/task/TaskForm.d.ts +105 -0
  86. package/dist/components/task/TaskForm.js +241 -0
  87. package/dist/components/task/TaskForm.test.d.ts +1 -0
  88. package/dist/components/task/TaskForm.test.js +288 -0
  89. package/dist/components/task/TaskKanban 2.d.ts +76 -0
  90. package/dist/components/task/TaskKanban 2.js +1004 -0
  91. package/dist/components/task/TaskKanban.d.ts +76 -0
  92. package/dist/components/task/TaskKanban.empty-column-drop.test.d.ts +1 -0
  93. package/dist/components/task/TaskKanban.empty-column-drop.test.js +66 -0
  94. package/dist/components/task/TaskKanban.js +1026 -0
  95. package/dist/components/task/TaskKanban.test.d.ts +1 -0
  96. package/dist/components/task/TaskKanban.test.js +46 -0
  97. package/dist/components/task/TaskList.d.ts +74 -0
  98. package/dist/components/task/TaskList.js +38 -0
  99. package/dist/components/task/TaskList.test.d.ts +1 -0
  100. package/dist/components/task/TaskList.test.js +270 -0
  101. package/dist/components/task/TaskScreenshotSection.d.ts +15 -0
  102. package/dist/components/task/TaskScreenshotSection.js +22 -0
  103. package/dist/components/ui/LevelSelector.d.ts +13 -0
  104. package/dist/components/ui/LevelSelector.js +25 -0
  105. package/dist/components/ui/LevelSelector.test.d.ts +1 -0
  106. package/dist/components/ui/LevelSelector.test.js +55 -0
  107. package/dist/components/ui/Markdown.d.ts +6 -0
  108. package/dist/components/ui/Markdown.js +94 -0
  109. package/dist/components/ui/Markdown.test.d.ts +1 -0
  110. package/dist/components/ui/Markdown.test.js +38 -0
  111. package/dist/components/ui/Modal.d.ts +16 -0
  112. package/dist/components/ui/Modal.js +49 -0
  113. package/dist/components/ui/MultiSelectFilter.d.ts +10 -0
  114. package/dist/components/ui/MultiSelectFilter.js +71 -0
  115. package/dist/components/ui/MultiSelectFilter.test.d.ts +1 -0
  116. package/dist/components/ui/MultiSelectFilter.test.js +74 -0
  117. package/dist/components/ui/TaxonomyDropdown.d.ts +17 -0
  118. package/dist/components/ui/TaxonomyDropdown.js +145 -0
  119. package/dist/components/ui/TaxonomyDropdown.test.d.ts +1 -0
  120. package/dist/components/ui/TaxonomyDropdown.test.js +130 -0
  121. package/dist/components/views/StandaloneLayout 2.d.ts +8 -0
  122. package/dist/components/views/StandaloneLayout 2.js +1660 -0
  123. package/dist/components/views/StandaloneLayout.d.ts +8 -0
  124. package/dist/components/views/StandaloneLayout.js +2117 -0
  125. package/dist/components/views/WidgetView.d.ts +8 -0
  126. package/dist/components/views/WidgetView.js +221 -0
  127. package/dist/config/envSchema.d.ts +28 -0
  128. package/dist/config/envSchema.js +374 -0
  129. package/dist/config/envSchema.test.d.ts +1 -0
  130. package/dist/config/envSchema.test.js +97 -0
  131. package/dist/config/surfaceBase.d.ts +2 -0
  132. package/dist/config/surfaceBase.js +8 -0
  133. package/dist/core/BulkUpdateFieldsPreview.test.d.ts +1 -0
  134. package/dist/core/BulkUpdateFieldsPreview.test.js +62 -0
  135. package/dist/core/CompletedAt.test.d.ts +1 -0
  136. package/dist/core/CompletedAt.test.js +44 -0
  137. package/dist/core/CreatedBy.test.d.ts +1 -0
  138. package/dist/core/CreatedBy.test.js +60 -0
  139. package/dist/core/EntitlementsPolicy.test.d.ts +1 -0
  140. package/dist/core/EntitlementsPolicy.test.js +145 -0
  141. package/dist/core/InitiativeTemplates.test.d.ts +1 -0
  142. package/dist/core/InitiativeTemplates.test.js +50 -0
  143. package/dist/core/ParentLifecycle.test.d.ts +1 -0
  144. package/dist/core/ParentLifecycle.test.js +98 -0
  145. package/dist/core/ScheduleFields.test.d.ts +1 -0
  146. package/dist/core/ScheduleFields.test.js +197 -0
  147. package/dist/core/SetupState.test.d.ts +1 -0
  148. package/dist/core/SetupState.test.js +113 -0
  149. package/dist/core/SystemAdmin.test.d.ts +1 -0
  150. package/dist/core/SystemAdmin.test.js +295 -0
  151. package/dist/core/TaskTaxonomyValidation.test.d.ts +1 -0
  152. package/dist/core/TaskTaxonomyValidation.test.js +64 -0
  153. package/dist/core/Taskforce.d.ts +1063 -0
  154. package/dist/core/Taskforce.ids.test.d.ts +1 -0
  155. package/dist/core/Taskforce.ids.test.js +168 -0
  156. package/dist/core/Taskforce.js +5981 -0
  157. package/dist/core/Taskforce.realtimeMutation.test.d.ts +1 -0
  158. package/dist/core/Taskforce.realtimeMutation.test.js +76 -0
  159. package/dist/core/WorkspaceDelete.test.d.ts +1 -0
  160. package/dist/core/WorkspaceDelete.test.js +140 -0
  161. package/dist/core/WorkspacePermissions.test.d.ts +1 -0
  162. package/dist/core/WorkspacePermissions.test.js +151 -0
  163. package/dist/core/WorkspacePlanMode.test.d.ts +1 -0
  164. package/dist/core/WorkspacePlanMode.test.js +104 -0
  165. package/dist/hooks/authGuardPolicy.d.ts +26 -0
  166. package/dist/hooks/authGuardPolicy.js +32 -0
  167. package/dist/hooks/authGuardPolicy.test.d.ts +1 -0
  168. package/dist/hooks/authGuardPolicy.test.js +76 -0
  169. package/dist/hooks/useDraggable.d.ts +12 -0
  170. package/dist/hooks/useDraggable.js +65 -0
  171. package/dist/hooks/useRealtimeSync.d.ts +24 -0
  172. package/dist/hooks/useRealtimeSync.js +275 -0
  173. package/dist/hooks/useRealtimeSync.test.d.ts +1 -0
  174. package/dist/hooks/useRealtimeSync.test.js +284 -0
  175. package/dist/hooks/useSyncOrchestrator.d.ts +164 -0
  176. package/dist/hooks/useSyncOrchestrator.js +1427 -0
  177. package/dist/hooks/useSyncOrchestrator.retry-closure.test.d.ts +1 -0
  178. package/dist/hooks/useSyncOrchestrator.retry-closure.test.js +367 -0
  179. package/dist/hooks/useTaskforce.d.ts +727 -0
  180. package/dist/hooks/useTaskforce.js +4396 -0
  181. package/dist/hooks/useTaskforce.priority-filters.test.d.ts +1 -0
  182. package/dist/hooks/useTaskforce.priority-filters.test.js +33 -0
  183. package/dist/hooks/useWorkspaceSyncController.d.ts +80 -0
  184. package/dist/hooks/useWorkspaceSyncController.js +598 -0
  185. package/dist/hooks/useWorkspaceSyncController.test.d.ts +1 -0
  186. package/dist/hooks/useWorkspaceSyncController.test.js +236 -0
  187. package/dist/index.d.ts +12 -0
  188. package/dist/index.js +11 -0
  189. package/dist/localization/index.d.ts +8 -0
  190. package/dist/localization/index.js +81 -0
  191. package/dist/localization/locales/en-US.d.ts +151 -0
  192. package/dist/localization/locales/en-US.js +150 -0
  193. package/dist/localization/locales/es-419.d.ts +2 -0
  194. package/dist/localization/locales/es-419.js +150 -0
  195. package/dist/localization/locales/pt-BR.d.ts +2 -0
  196. package/dist/localization/locales/pt-BR.js +150 -0
  197. package/dist/main.d.ts +1 -0
  198. package/dist/main.js +33 -0
  199. package/dist/mcp/optionResolution.d.ts +14 -0
  200. package/dist/mcp/optionResolution.js +126 -0
  201. package/dist/mcp/optionResolution.test.d.ts +1 -0
  202. package/dist/mcp/optionResolution.test.js +39 -0
  203. package/dist/mcp/server.d.ts +1 -0
  204. package/dist/mcp/server.js +1793 -0
  205. package/dist/mcp/structuredCommentValidation.d.ts +6 -0
  206. package/dist/mcp/structuredCommentValidation.js +56 -0
  207. package/dist/mcp/structuredDocValidation.d.ts +6 -0
  208. package/dist/mcp/structuredDocValidation.js +75 -0
  209. package/dist/migrations/billingSchemaParity.test.d.ts +1 -0
  210. package/dist/migrations/billingSchemaParity.test.js +46 -0
  211. package/dist/migrations/clientMigrations.d.ts +9 -0
  212. package/dist/migrations/clientMigrations.js +74 -0
  213. package/dist/migrations/flags.d.ts +6 -0
  214. package/dist/migrations/flags.js +8 -0
  215. package/dist/migrations/taskMigrations.d.ts +71 -0
  216. package/dist/migrations/taskMigrations.js +236 -0
  217. package/dist/migrations/taskMigrations.test.d.ts +1 -0
  218. package/dist/migrations/taskMigrations.test.js +34 -0
  219. package/dist/migrations/taskSchemaMigrations.d.ts +11 -0
  220. package/dist/migrations/taskSchemaMigrations.js +453 -0
  221. package/dist/plugins/index.d.ts +10 -0
  222. package/dist/plugins/index.js +10 -0
  223. package/dist/plugins/vite.d.ts +19 -0
  224. package/dist/plugins/vite.js +271 -0
  225. package/dist/public/android-chrome-192x192.png +0 -0
  226. package/dist/public/android-chrome-512x512.png +0 -0
  227. package/dist/public/apple-touch-icon.png +0 -0
  228. package/dist/public/favicon-16x16.png +0 -0
  229. package/dist/public/favicon-32x32.png +0 -0
  230. package/dist/public/favicon.ico +0 -0
  231. package/dist/public/favicon.png +0 -0
  232. package/dist/public/site.webmanifest +1 -0
  233. package/dist/public/taskforce.png +0 -0
  234. package/dist/resources/templates/WORKFLOW_V2_POLICY.md +55 -0
  235. package/dist/resources/templates/environments/aider.yaml +14 -0
  236. package/dist/resources/templates/environments/antigravity.yaml +10 -0
  237. package/dist/resources/templates/environments/claude.yaml +10 -0
  238. package/dist/resources/templates/environments/cline.yaml +10 -0
  239. package/dist/resources/templates/environments/codex.yaml +13 -0
  240. package/dist/resources/templates/environments/copilot.yaml +10 -0
  241. package/dist/resources/templates/environments/cursor.yaml +9 -0
  242. package/dist/resources/templates/environments/gemini.yaml +9 -0
  243. package/dist/resources/templates/environments/windsurf.yaml +10 -0
  244. package/dist/resources/templates/workflow-sources/README.md +9 -0
  245. package/dist/resources/templates/workflow-sources/workflowDocs.mjs +520 -0
  246. package/dist/resources/templates/workflow-sources/workflowEditorOverrides.json +1 -0
  247. package/dist/resources/templates/workflows/collaborate.yaml +104 -0
  248. package/dist/resources/templates/workflows/do.yaml +82 -0
  249. package/dist/resources/templates/workflows/evaluate.yaml +111 -0
  250. package/dist/resources/templates/workflows/execute.yaml +142 -0
  251. package/dist/resources/templates/workflows/plan.yaml +112 -0
  252. package/dist/resources/templates/workflows/review.yaml +109 -0
  253. package/dist/runtime/capabilities.d.ts +8 -0
  254. package/dist/runtime/capabilities.js +16 -0
  255. package/dist/security/virusScan.d.ts +16 -0
  256. package/dist/security/virusScan.js +83 -0
  257. package/dist/server/auth.d.ts +51 -0
  258. package/dist/server/auth.js +266 -0
  259. package/dist/server/auth.test.d.ts +1 -0
  260. package/dist/server/auth.test.js +111 -0
  261. package/dist/server/buildInfo.d.ts +7 -0
  262. package/dist/server/buildInfo.js +100 -0
  263. package/dist/server/buildInfo.test.d.ts +1 -0
  264. package/dist/server/buildInfo.test.js +29 -0
  265. package/dist/server/cors.d.ts +7 -0
  266. package/dist/server/cors.js +76 -0
  267. package/dist/server/cors.test.d.ts +1 -0
  268. package/dist/server/cors.test.js +71 -0
  269. package/dist/server/email.d.ts +28 -0
  270. package/dist/server/email.js +138 -0
  271. package/dist/server/email.test.d.ts +1 -0
  272. package/dist/server/email.test.js +113 -0
  273. package/dist/server/index.cookieProxy.test.d.ts +1 -0
  274. package/dist/server/index.cookieProxy.test.js +19 -0
  275. package/dist/server/index.d.ts +17 -0
  276. package/dist/server/index.js +757 -0
  277. package/dist/server/index.rateLimit.test.d.ts +1 -0
  278. package/dist/server/index.rateLimit.test.js +13 -0
  279. package/dist/server/index.test.d.ts +1 -0
  280. package/dist/server/index.test.js +19 -0
  281. package/dist/server/rateLimit.d.ts +29 -0
  282. package/dist/server/rateLimit.js +99 -0
  283. package/dist/server/rateLimit.test.d.ts +1 -0
  284. package/dist/server/rateLimit.test.js +107 -0
  285. package/dist/server/realtimeSync.auth.test.d.ts +1 -0
  286. package/dist/server/realtimeSync.auth.test.js +62 -0
  287. package/dist/server/realtimeSync.replay.test.d.ts +1 -0
  288. package/dist/server/realtimeSync.replay.test.js +192 -0
  289. package/dist/server/realtimeSync.workspaceIsolation.test.d.ts +1 -0
  290. package/dist/server/realtimeSync.workspaceIsolation.test.js +101 -0
  291. package/dist/server/realtimeSyncWs.d.ts +30 -0
  292. package/dist/server/realtimeSyncWs.js +257 -0
  293. package/dist/server/routes.billing.d.ts +15 -0
  294. package/dist/server/routes.billing.js +991 -0
  295. package/dist/server/routes.billing.test.d.ts +1 -0
  296. package/dist/server/routes.billing.test.js +387 -0
  297. package/dist/server/routes.d.ts +72 -0
  298. package/dist/server/routes.js +4820 -0
  299. package/dist/server/routes.sync.d.ts +17 -0
  300. package/dist/server/routes.sync.integration.test.d.ts +1 -0
  301. package/dist/server/routes.sync.integration.test.js +470 -0
  302. package/dist/server/routes.sync.js +1141 -0
  303. package/dist/server/routes.test.d.ts +1 -0
  304. package/dist/server/routes.test.js +4945 -0
  305. package/dist/server/runtimeMode.d.ts +4 -0
  306. package/dist/server/runtimeMode.js +25 -0
  307. package/dist/server/runtimeMode.test.d.ts +1 -0
  308. package/dist/server/runtimeMode.test.js +26 -0
  309. package/dist/server/securityHeaders.d.ts +3 -0
  310. package/dist/server/securityHeaders.js +25 -0
  311. package/dist/server/securityHeaders.test.d.ts +1 -0
  312. package/dist/server/securityHeaders.test.js +32 -0
  313. package/dist/server/smtpTransport.d.ts +21 -0
  314. package/dist/server/smtpTransport.js +11 -0
  315. package/dist/server/start.d.ts +1 -0
  316. package/dist/server/start.js +17 -0
  317. package/dist/services/formatTransformers.d.ts +29 -0
  318. package/dist/services/formatTransformers.js +56 -0
  319. package/dist/services/templateEngine.d.ts +46 -0
  320. package/dist/services/templateEngine.js +148 -0
  321. package/dist/shared/runtimeContract.d.ts +12 -0
  322. package/dist/shared/runtimeContract.js +23 -0
  323. package/dist/shared/runtimeContract.test.d.ts +1 -0
  324. package/dist/shared/runtimeContract.test.js +23 -0
  325. package/dist/soak/preflight.cli.d.ts +1 -0
  326. package/dist/soak/preflight.cli.js +28 -0
  327. package/dist/soak/preflight.d.ts +26 -0
  328. package/dist/soak/preflight.js +113 -0
  329. package/dist/soak/preflight.test.d.ts +1 -0
  330. package/dist/soak/preflight.test.js +39 -0
  331. package/dist/soak/syncSoakHarness.d.ts +6 -0
  332. package/dist/soak/syncSoakHarness.js +10 -0
  333. package/dist/storage/createDatabaseAdapter.d.ts +2 -0
  334. package/dist/storage/createDatabaseAdapter.js +9 -0
  335. package/dist/storage/databaseAdapter.d.ts +22 -0
  336. package/dist/storage/databaseAdapter.js +1 -0
  337. package/dist/storage/documentIntegrity.d.ts +28 -0
  338. package/dist/storage/documentIntegrity.js +103 -0
  339. package/dist/storage/documentPurge.d.ts +14 -0
  340. package/dist/storage/documentPurge.js +46 -0
  341. package/dist/storage/documentRegistry.d.ts +39 -0
  342. package/dist/storage/documentRegistry.js +115 -0
  343. package/dist/storage/integritySchedule.d.ts +17 -0
  344. package/dist/storage/integritySchedule.js +62 -0
  345. package/dist/storage/objectStorage.d.ts +20 -0
  346. package/dist/storage/objectStorage.js +15 -0
  347. package/dist/storage/objectStorageClient.d.ts +18 -0
  348. package/dist/storage/objectStorageClient.js +301 -0
  349. package/dist/storage/objectStorageConfig.d.ts +2 -0
  350. package/dist/storage/objectStorageConfig.js +45 -0
  351. package/dist/storage/postgresAdapter.d.ts +20 -0
  352. package/dist/storage/postgresAdapter.js +204 -0
  353. package/dist/storage/postgresWorker.d.ts +1 -0
  354. package/dist/storage/postgresWorker.js +110 -0
  355. package/dist/storage/providerConfig.d.ts +6 -0
  356. package/dist/storage/providerConfig.js +11 -0
  357. package/dist/storage/sqliteAdapter.d.ts +14 -0
  358. package/dist/storage/sqliteAdapter.js +28 -0
  359. package/dist/storage/taskAssetStore.d.ts +56 -0
  360. package/dist/storage/taskAssetStore.js +297 -0
  361. package/dist/sync/cloudSyncApi.d.ts +47 -0
  362. package/dist/sync/cloudSyncApi.js +138 -0
  363. package/dist/sync/cloudSyncApi.test.d.ts +1 -0
  364. package/dist/sync/cloudSyncApi.test.js +54 -0
  365. package/dist/sync/encryptionService.d.ts +11 -0
  366. package/dist/sync/encryptionService.js +61 -0
  367. package/dist/sync/encryptionService.test.d.ts +1 -0
  368. package/dist/sync/encryptionService.test.js +52 -0
  369. package/dist/sync/realtimeFeature.d.ts +6 -0
  370. package/dist/sync/realtimeFeature.js +20 -0
  371. package/dist/sync/realtimeFeature.test.d.ts +1 -0
  372. package/dist/sync/realtimeFeature.test.js +30 -0
  373. package/dist/sync/realtimeReconcile.d.ts +30 -0
  374. package/dist/sync/realtimeReconcile.js +90 -0
  375. package/dist/sync/realtimeReconcile.test.d.ts +1 -0
  376. package/dist/sync/realtimeReconcile.test.js +43 -0
  377. package/dist/sync/syncService.d.ts +96 -0
  378. package/dist/sync/syncService.js +423 -0
  379. package/dist/sync/syncService.test.d.ts +1 -0
  380. package/dist/sync/syncService.test.js +484 -0
  381. package/dist/sync/workspaceSyncModel.d.ts +61 -0
  382. package/dist/sync/workspaceSyncModel.js +136 -0
  383. package/dist/sync/workspaceSyncModel.test.d.ts +1 -0
  384. package/dist/sync/workspaceSyncModel.test.js +73 -0
  385. package/dist/test/setup.d.ts +1 -0
  386. package/dist/test/setup.js +15 -0
  387. package/dist/types.d.ts +157 -0
  388. package/dist/types.js +41 -0
  389. package/dist/ui/assets/RussoOne-Regular-C3BxZIj7.ttf +0 -0
  390. package/dist/ui/assets/index-0W5vyCpn.css +1 -0
  391. package/dist/ui/assets/index-MCZuNNfn.js +23 -0
  392. package/dist/ui/assets/logo_white_01-0Vx-iIIv.png +0 -0
  393. package/dist/ui/assets/taskforce-BxLPokNB.png +0 -0
  394. package/dist/ui/assets/vendor-dnd-BI1K77C1.js +5 -0
  395. package/dist/ui/assets/vendor-icons-ZFG3SGwo.js +1 -0
  396. package/dist/ui/assets/vendor-markdown-CKYkQHfj.js +29 -0
  397. package/dist/ui/assets/vendor-react-DdIDsh7f.js +9 -0
  398. package/dist/ui/assets/vendor-router-BtiNU7Dl.js +3 -0
  399. package/dist/ui/branding/logos/logo_black_01.png +0 -0
  400. package/dist/ui/branding/logos/logo_black_02.png +0 -0
  401. package/dist/ui/branding/logos/logo_white_01.png +0 -0
  402. package/dist/ui/branding/logos/logo_white_02.png +0 -0
  403. package/dist/ui/favicon/android-chrome-192x192.png +0 -0
  404. package/dist/ui/favicon/android-chrome-512x512.png +0 -0
  405. package/dist/ui/favicon/apple-touch-icon.png +0 -0
  406. package/dist/ui/favicon/favicon-16x16.png +0 -0
  407. package/dist/ui/favicon/favicon-32x32.png +0 -0
  408. package/dist/ui/favicon/favicon.ico +0 -0
  409. package/dist/ui/favicon/favicon.png +0 -0
  410. package/dist/ui/favicon/site.webmanifest +1 -0
  411. package/dist/ui/fonts/RussoOne-Regular.ttf +0 -0
  412. package/dist/ui/images/taskforce.png +0 -0
  413. package/dist/ui/index.html +19 -0
  414. package/dist/utils/checklistMarkdown.d.ts +9 -0
  415. package/dist/utils/checklistMarkdown.js +46 -0
  416. package/dist/utils/constants.d.ts +21 -0
  417. package/dist/utils/constants.icons.test.d.ts +1 -0
  418. package/dist/utils/constants.icons.test.js +40 -0
  419. package/dist/utils/constants.js +100 -0
  420. package/dist/utils/contextFiles.d.ts +8 -0
  421. package/dist/utils/contextFiles.js +54 -0
  422. package/dist/utils/formatting.d.ts +5 -0
  423. package/dist/utils/formatting.js +30 -0
  424. package/dist/utils/planParser.d.ts +22 -0
  425. package/dist/utils/planParser.js +151 -0
  426. package/dist/utils/taskDragZones.d.ts +8 -0
  427. package/dist/utils/taskDragZones.js +14 -0
  428. package/dist/utils/taskDragZones.test.d.ts +1 -0
  429. package/dist/utils/taskDragZones.test.js +14 -0
  430. package/dist/utils/taskHierarchy.d.ts +4 -0
  431. package/dist/utils/taskHierarchy.js +69 -0
  432. package/dist/utils/taskHierarchy.test.d.ts +1 -0
  433. package/dist/utils/taskHierarchy.test.js +38 -0
  434. package/dist/utils/taskParenting.d.ts +3 -0
  435. package/dist/utils/taskParenting.js +24 -0
  436. package/dist/utils/taskParenting.test.d.ts +1 -0
  437. package/dist/utils/taskParenting.test.js +21 -0
  438. package/dist/utils/taskRelations.d.ts +6 -0
  439. package/dist/utils/taskRelations.js +24 -0
  440. package/dist/utils/taskRelations.test.d.ts +1 -0
  441. package/dist/utils/taskRelations.test.js +34 -0
  442. package/dist/utils/taskUtils.d.ts +2 -0
  443. package/dist/utils/taskUtils.js +20 -0
  444. package/dist/utils/taskforceApiClient.d.ts +7 -0
  445. package/dist/utils/taskforceApiClient.js +42 -0
  446. package/dist/utils/workspaceIdentity.d.ts +8 -0
  447. package/dist/utils/workspaceIdentity.js +47 -0
  448. package/dist/utils/workspaceIdentity.test.d.ts +1 -0
  449. package/dist/utils/workspaceIdentity.test.js +32 -0
  450. package/dist/utils/workspaceLifecycle.d.ts +26 -0
  451. package/dist/utils/workspaceLifecycle.js +69 -0
  452. package/dist/utils/workspaceLifecycle.test.d.ts +1 -0
  453. package/dist/utils/workspaceLifecycle.test.js +64 -0
  454. package/package.json +133 -0
  455. package/scripts/check-compat-boundaries.js +48 -0
  456. package/scripts/check-env.ts +24 -0
  457. package/scripts/check-localization-strings.mjs +49 -0
  458. package/scripts/check-runtime-boundaries.mjs +44 -0
  459. package/scripts/debug-global.mjs +34 -0
  460. package/scripts/debug-server.mjs +36 -0
  461. package/scripts/export-sqlite-to-postgres.mjs +125 -0
  462. package/scripts/generate-env-example.ts +8 -0
  463. package/scripts/generate-workflow-templates.mjs +134 -0
  464. package/scripts/mcp-stdio-adapter.mjs +160 -0
  465. package/scripts/postinstall.js +60 -0
  466. package/scripts/release-version-lib.mjs +88 -0
  467. package/scripts/release-version.mjs +72 -0
  468. package/scripts/run-dev-proxy.sh +49 -0
  469. package/scripts/run-e2e-realtime.sh +16 -0
  470. package/scripts/run-smoke.sh +23 -0
  471. package/scripts/run-soak.sh +29 -0
  472. package/scripts/test-global.js +143 -0
  473. package/scripts/update-homebrew-formula.sh +38 -0
  474. package/src/resources/templates/WORKFLOW_V2_POLICY.md +55 -0
  475. package/src/resources/templates/environments/aider.yaml +14 -0
  476. package/src/resources/templates/environments/antigravity.yaml +10 -0
  477. package/src/resources/templates/environments/claude.yaml +10 -0
  478. package/src/resources/templates/environments/cline.yaml +10 -0
  479. package/src/resources/templates/environments/codex.yaml +13 -0
  480. package/src/resources/templates/environments/copilot.yaml +10 -0
  481. package/src/resources/templates/environments/cursor.yaml +9 -0
  482. package/src/resources/templates/environments/gemini.yaml +9 -0
  483. package/src/resources/templates/environments/windsurf.yaml +10 -0
  484. package/src/resources/templates/workflow-sources/README.md +9 -0
  485. package/src/resources/templates/workflow-sources/workflowDocs.mjs +520 -0
  486. package/src/resources/templates/workflow-sources/workflowEditorOverrides.json +1 -0
  487. package/src/resources/templates/workflows/collaborate.yaml +104 -0
  488. package/src/resources/templates/workflows/do.yaml +82 -0
  489. package/src/resources/templates/workflows/evaluate.yaml +111 -0
  490. package/src/resources/templates/workflows/execute.yaml +142 -0
  491. package/src/resources/templates/workflows/plan.yaml +112 -0
  492. package/src/resources/templates/workflows/review.yaml +109 -0
@@ -0,0 +1,727 @@
1
+ import type { TaskforceConfig, TaskforceTheme, Comment, AttachmentItem, CategoryConfig, TaskItem, TaxonomyDefinition, Environment, ParentTaskFilterMode, TaskAssignee } from '../types';
2
+ interface UseTaskforceProps {
3
+ config?: Partial<TaskforceConfig>;
4
+ initialTaskId?: string;
5
+ onTaskCountChange?: (count: number) => void;
6
+ onClose?: () => void;
7
+ }
8
+ type WeekStartsOn = 'sunday' | 'monday';
9
+ type SetupStateStatus = 'present' | 'missing' | 'unreadable';
10
+ type WorkspaceMode = 'core' | 'operations';
11
+ type BootstrapPhase = 'idle' | 'auth' | 'workspace' | 'config' | 'ready' | 'stalled';
12
+ interface SetupStateSnapshot {
13
+ globalSetupState: SetupStateStatus;
14
+ workspaceSetupState: SetupStateStatus;
15
+ runtimeMode: 'local' | 'cloud';
16
+ workspaceId: string;
17
+ mode: WorkspaceMode;
18
+ forceSetup: boolean;
19
+ forceGlobalSetup: boolean;
20
+ forceWorkspaceSetup: boolean;
21
+ workspace?: {
22
+ id: string;
23
+ slug?: string | null;
24
+ name: string;
25
+ description?: string | null;
26
+ } | null;
27
+ suggestedWorkspaceName?: string;
28
+ }
29
+ interface RuntimeCapabilities {
30
+ runtimeMode: 'local' | 'cloud';
31
+ supportsCloudAuth: boolean;
32
+ supportsAdminManagedSetupOverrides: boolean;
33
+ supportsPackageScriptSetupOverrides: boolean;
34
+ }
35
+ interface BuildMetadata {
36
+ version: string;
37
+ gitSha: string | null;
38
+ buildTime: string | null;
39
+ deployId: string | null;
40
+ }
41
+ interface WorkspaceSummary {
42
+ id: string;
43
+ slug?: string | null;
44
+ name: string;
45
+ description?: string | null;
46
+ role: 'owner' | 'admin' | 'member' | 'read-only';
47
+ status: string;
48
+ betaAccess: boolean;
49
+ }
50
+ export declare function useTaskforce({ config, initialTaskId, onTaskCountChange, onClose }: UseTaskforceProps): {
51
+ config: {
52
+ categories: string[] | CategoryConfig[];
53
+ types: Array<{
54
+ value: string;
55
+ label: string;
56
+ }>;
57
+ priorities: Array<{
58
+ value: number;
59
+ label: string;
60
+ color?: string;
61
+ icon?: string;
62
+ }>;
63
+ approaches: Array<{
64
+ value: string;
65
+ label: string;
66
+ color?: string;
67
+ icon?: string;
68
+ }>;
69
+ taxonomies: TaxonomyDefinition[];
70
+ apiEndpoint: string;
71
+ apiBaseUrl?: string;
72
+ cloudAuthBaseUrl?: string;
73
+ wsBaseUrl?: string;
74
+ position: "bottom-left" | "bottom-right" | "top-left" | "top-right";
75
+ offsetY: number;
76
+ theme: TaskforceTheme;
77
+ shortcut: string;
78
+ manualComplexityEnabled: boolean;
79
+ checklistDropdownEnabled: boolean;
80
+ assigneeFilterEnabled: boolean;
81
+ };
82
+ isOpen: boolean;
83
+ setIsOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
84
+ activeTab: "settings" | "tasks" | "add";
85
+ setActiveTab: (tab: "add" | "tasks" | "settings") => void;
86
+ currentTheme: TaskforceTheme;
87
+ setCurrentTheme: import("react").Dispatch<import("react").SetStateAction<TaskforceTheme>>;
88
+ configLoaded: boolean;
89
+ storagePath: string;
90
+ saveSettings: () => Promise<boolean>;
91
+ pathSaved: boolean;
92
+ keyShortcut: string;
93
+ setKeyShortcut: import("react").Dispatch<import("react").SetStateAction<string>>;
94
+ globalWeekStartsOn: WeekStartsOn;
95
+ locale: "en-US" | "es-419" | "pt-BR";
96
+ supportedLocales: ("en-US" | "es-419" | "pt-BR")[];
97
+ saveLocale: (nextLocale: string) => Promise<boolean>;
98
+ jsonBackupEnabled: boolean;
99
+ setJsonBackupEnabled: import("react").Dispatch<import("react").SetStateAction<boolean>>;
100
+ manualComplexityEnabled: boolean;
101
+ checklistDropdownEnabled: boolean;
102
+ assigneeFilterEnabled: boolean;
103
+ setManualComplexityEnabled: import("react").Dispatch<import("react").SetStateAction<boolean>>;
104
+ mcpHostRoot: string;
105
+ setMcpHostRoot: import("react").Dispatch<import("react").SetStateAction<string>>;
106
+ settingsSection: "categories" | "types" | "general" | "documents" | "commands" | "workflow-editor" | "agents" | "taxonomy" | "mcp" | "resources" | null;
107
+ setSettingsSection: import("react").Dispatch<import("react").SetStateAction<"categories" | "types" | "general" | "documents" | "commands" | "workflow-editor" | "agents" | "taxonomy" | "mcp" | "resources" | null>>;
108
+ runtimeMode: "local" | "cloud";
109
+ workspaceMode: "single-local" | "multi-cloud";
110
+ workspaceSwitchingEnabled: boolean;
111
+ cloudAuthConfigured: boolean;
112
+ authRequiredForApi: boolean;
113
+ authBlocked: boolean;
114
+ isAuthenticated: boolean;
115
+ authUserEmail: string;
116
+ userGlobalSyncStatus: "error" | "disconnected" | "idle" | "syncing";
117
+ userGlobalLastSyncedAt: string | null;
118
+ workspaceLastPullAt: string | null;
119
+ workspaceLastPushAt: string | null;
120
+ workspaceLastErrorAt: string | null;
121
+ workspaceRetryAt: string | null;
122
+ userGlobalSyncPendingChanges: number;
123
+ userGlobalSyncError: string | null;
124
+ workspaceLastErrorMessage: string | null;
125
+ workspaceLastWarningMessage: string | null;
126
+ workspaceSyncFailureCount: number;
127
+ workspaceSyncRetryScheduledCount: number;
128
+ workspaceSyncAuthFailureCount: number;
129
+ workspaceSyncLastFailureSource: ("push" | "pull" | "apply" | "handshake") | null;
130
+ workspaceSyncLastFailureStatusCode: number | null;
131
+ workspaceBootstrapSyncInProgress: boolean;
132
+ workspaceBootstrapSyncPages: number;
133
+ workspaceBootstrapSyncAppliedChanges: number;
134
+ retryUserGlobalSettingsSync: () => Promise<void>;
135
+ retryWorkspaceCloudSync: () => Promise<void>;
136
+ resetWorkspaceSyncCursorAndPull: () => Promise<void>;
137
+ hasBetaAccess: boolean;
138
+ realtimeSyncEnabled: boolean;
139
+ realtimeSyncFlagSource: "default" | "settings" | "env" | "unknown";
140
+ currentWorkspaceId: string;
141
+ availableWorkspaces: WorkspaceSummary[];
142
+ workspaceCloudSyncEnabled: boolean;
143
+ realtimeConnectionState: import("./useRealtimeSync").RealtimeConnectionState;
144
+ realtimeTelemetry: import("../sync/realtimeReconcile").RealtimeReconcileTelemetry;
145
+ workspaceSyncSourceOfTruth: "local" | "cloud" | null;
146
+ workspaceSyncOnboardingCompleted: boolean;
147
+ workspaceSyncReady: boolean;
148
+ workspaceCloudHydrated: boolean;
149
+ saveWorkspaceCloudSyncSettings: (input: {
150
+ enabled: boolean;
151
+ sourceOfTruth?: "cloud" | "local" | null;
152
+ onboardingCompleted?: boolean;
153
+ }) => Promise<{
154
+ success: boolean;
155
+ error?: string;
156
+ }>;
157
+ applyWorkspaceSyncStateSnapshot: (nextState: {
158
+ cloudSyncEnabled: boolean;
159
+ sourceOfTruth?: "cloud" | "local" | null;
160
+ onboardingCompleted?: boolean;
161
+ pullCursor?: string | null;
162
+ }) => void;
163
+ authSessionResolved: boolean;
164
+ workspaceBootstrapPending: boolean;
165
+ bootstrapPhase: BootstrapPhase;
166
+ bootstrapError: string | null;
167
+ bootstrapStartedAt: number | null;
168
+ setupState: SetupStateSnapshot | null;
169
+ runtimeCapabilities: RuntimeCapabilities | null;
170
+ refreshSetupContext: () => Promise<void>;
171
+ retryBootstrapChecks: () => Promise<void>;
172
+ saveWorkspaceProfile: (input: {
173
+ name: string;
174
+ description?: string;
175
+ workspaceId?: string;
176
+ }) => Promise<{
177
+ success: boolean;
178
+ error?: string;
179
+ code?: string;
180
+ workspaceId?: string;
181
+ }>;
182
+ fetchWorkspaces: () => Promise<{
183
+ success: boolean;
184
+ error?: string;
185
+ workspaces?: WorkspaceSummary[];
186
+ }>;
187
+ createWorkspace: (name: string, description?: string) => Promise<{
188
+ success: boolean;
189
+ error?: string;
190
+ code?: string;
191
+ workspace?: WorkspaceSummary;
192
+ }>;
193
+ deleteWorkspace: (workspaceId: string) => Promise<{
194
+ success: boolean;
195
+ error?: string;
196
+ code?: string;
197
+ nextWorkspaceId?: string;
198
+ workspaceSetupRequired?: boolean;
199
+ cleanupWarnings?: string[];
200
+ }>;
201
+ switchWorkspace: (workspaceId: string, options?: {
202
+ hydrate?: boolean;
203
+ }) => Promise<{
204
+ success: boolean;
205
+ error?: string;
206
+ code?: string;
207
+ }>;
208
+ loginWithCredentials: (email: string, password: string) => Promise<{
209
+ success: boolean;
210
+ error?: string;
211
+ code?: string;
212
+ workspaceSetupRequired?: boolean;
213
+ }>;
214
+ registerWithCredentials: (email: string, password: string) => Promise<{
215
+ success: boolean;
216
+ error?: string;
217
+ code?: string;
218
+ verificationRequired?: boolean;
219
+ verificationToken?: string;
220
+ emailSent?: boolean;
221
+ emailError?: string;
222
+ workspaceSetupRequired?: boolean;
223
+ }>;
224
+ requestEmailVerification: (email: string) => Promise<{
225
+ success: boolean;
226
+ error?: string;
227
+ code?: string;
228
+ verificationToken?: string | null;
229
+ emailSent?: boolean;
230
+ emailError?: string;
231
+ }>;
232
+ confirmEmailVerification: (token: string) => Promise<{
233
+ success: boolean;
234
+ error?: string;
235
+ code?: string;
236
+ }>;
237
+ requestPasswordReset: (email: string) => Promise<{
238
+ success: boolean;
239
+ error?: string;
240
+ code?: string;
241
+ resetToken?: string | null;
242
+ emailSent?: boolean;
243
+ emailError?: string;
244
+ }>;
245
+ confirmPasswordReset: (token: string, password: string) => Promise<{
246
+ success: boolean;
247
+ error?: string;
248
+ code?: string;
249
+ }>;
250
+ inspectInviteAcceptance: (token: string) => Promise<{
251
+ success: boolean;
252
+ error?: string;
253
+ code?: string;
254
+ state?: string;
255
+ email?: string;
256
+ workspaceId?: string;
257
+ }>;
258
+ acceptInviteWithToken: (token: string, password: string) => Promise<{
259
+ success: boolean;
260
+ error?: string;
261
+ code?: string;
262
+ workspaceSetupRequired?: boolean;
263
+ }>;
264
+ logout: () => Promise<void>;
265
+ showFolderBrowser: boolean;
266
+ setShowFolderBrowser: import("react").Dispatch<import("react").SetStateAction<boolean>>;
267
+ folders: string[];
268
+ files: string[];
269
+ currentBrowsePath: string;
270
+ fetchFolders: (path?: string) => Promise<void>;
271
+ browserTarget: {
272
+ type: "category";
273
+ value: string;
274
+ } | {
275
+ type: "context-link";
276
+ } | "storage" | null;
277
+ setBrowserTarget: import("react").Dispatch<import("react").SetStateAction<{
278
+ type: "category";
279
+ value: string;
280
+ } | {
281
+ type: "context-link";
282
+ } | "storage" | null>>;
283
+ contextLinkBrowsePath: string;
284
+ groupBy: "type" | "status" | "assignee" | "category" | "priority" | "approach" | "complexity" | "hierarchy" | "schedule" | "docs";
285
+ setGroupBy: import("react").Dispatch<import("react").SetStateAction<"type" | "status" | "assignee" | "category" | "priority" | "approach" | "complexity" | "hierarchy" | "schedule" | "docs">>;
286
+ emptyColumnMode: "show" | "collapse" | "hide";
287
+ setEmptyColumnMode: import("react").Dispatch<import("react").SetStateAction<"show" | "collapse" | "hide">>;
288
+ zenMode: boolean;
289
+ setZenMode: () => Promise<void>;
290
+ handleSelectPath: (path: string) => void;
291
+ handleAddPath: (catValue: string, pathInput: string) => void;
292
+ handleRemovePath: (catValue: string, pathToRemove: string) => void;
293
+ tasks: TaskItem[];
294
+ loadingTasks: boolean;
295
+ archivedTasks: TaskItem[];
296
+ activeCategories: CategoryConfig[];
297
+ activeTypes: {
298
+ value: string;
299
+ label: string;
300
+ }[];
301
+ priorities: {
302
+ value: number;
303
+ label: string;
304
+ color?: string;
305
+ icon?: string;
306
+ }[];
307
+ approaches: {
308
+ value: string;
309
+ label: string;
310
+ color?: string;
311
+ icon?: string;
312
+ }[];
313
+ availableSpecialists: {
314
+ value: string;
315
+ label: string;
316
+ }[];
317
+ taxonomies: TaxonomyDefinition[];
318
+ searchQuery: string;
319
+ setSearchQuery: import("react").Dispatch<import("react").SetStateAction<string>>;
320
+ filterCategories: string[];
321
+ setFilterCategories: import("react").Dispatch<import("react").SetStateAction<string[]>>;
322
+ filterTypes: string[];
323
+ setFilterTypes: import("react").Dispatch<import("react").SetStateAction<string[]>>;
324
+ filterPriorities: (string | number)[];
325
+ setFilterPriorities: import("react").Dispatch<import("react").SetStateAction<(string | number)[]>>;
326
+ filterStatus: (string | number)[];
327
+ setFilterStatus: import("react").Dispatch<import("react").SetStateAction<(string | number)[]>>;
328
+ filterAssignees: TaskAssignee[];
329
+ setFilterAssignees: import("react").Dispatch<import("react").SetStateAction<TaskAssignee[]>>;
330
+ parentTaskFilterMode: ParentTaskFilterMode;
331
+ setParentTaskFilterMode: import("react").Dispatch<import("react").SetStateAction<ParentTaskFilterMode>>;
332
+ showParentsOnly: boolean;
333
+ setShowParentsOnly: (show: boolean) => void;
334
+ filterTaxonomies: Record<string, (string | number)[]>;
335
+ setFilterTaxonomies: import("react").Dispatch<import("react").SetStateAction<Record<string, (string | number)[]>>>;
336
+ sortBy: "priority" | "complexity" | "created" | "updated";
337
+ setSortBy: import("react").Dispatch<import("react").SetStateAction<"priority" | "complexity" | "created" | "updated">>;
338
+ sortOrder: "asc" | "desc";
339
+ setSortOrder: import("react").Dispatch<import("react").SetStateAction<"asc" | "desc">>;
340
+ toggleSortOrder: () => void;
341
+ showArchive: boolean;
342
+ setShowArchive: import("react").Dispatch<import("react").SetStateAction<boolean>>;
343
+ clearFilters: () => void;
344
+ filteredTasks: TaskItem[];
345
+ searchAgnosticTasks: TaskItem[];
346
+ filteredArchive: TaskItem[];
347
+ groupedTasks: Record<string, TaskItem[]>;
348
+ collapsedCategories: Record<string, boolean>;
349
+ setCollapsedCategories: import("react").Dispatch<import("react").SetStateAction<Record<string, boolean>>>;
350
+ fetchTasks: (isSilent?: boolean, options?: {
351
+ ignoreAuthGuard?: boolean;
352
+ }) => Promise<void>;
353
+ fetchArchive: (isSilent?: boolean) => Promise<void>;
354
+ handleEdit: (task: TaskItem) => void;
355
+ handleDelete: (id: string, archive?: boolean, options?: {
356
+ skipConfirm?: boolean;
357
+ }) => Promise<boolean>;
358
+ handleCopyId: (e: React.MouseEvent, id: string) => void;
359
+ handleToggleComplete: (task: TaskItem) => Promise<void>;
360
+ handleToggleCancel: (task: TaskItem) => Promise<void>;
361
+ handleToggleInProgress: (task: TaskItem) => Promise<void>;
362
+ handleToggleReview: (task: TaskItem) => Promise<void>;
363
+ handleArchiveTask: (task: TaskItem) => Promise<void>;
364
+ handleBulkArchive: () => Promise<void>;
365
+ handleUnarchive: (id: string) => Promise<void>;
366
+ handleUpdateTask: (id: string, updates: Partial<TaskItem>) => Promise<void>;
367
+ editingTaskId: string | null;
368
+ loading: boolean;
369
+ error: string;
370
+ title: string;
371
+ setTitle: import("react").Dispatch<import("react").SetStateAction<string>>;
372
+ description: string;
373
+ setDescription: import("react").Dispatch<import("react").SetStateAction<string>>;
374
+ category: string;
375
+ setCategory: import("react").Dispatch<import("react").SetStateAction<string>>;
376
+ type: string;
377
+ setType: import("react").Dispatch<import("react").SetStateAction<string>>;
378
+ priority: string | number;
379
+ setPriority: import("react").Dispatch<import("react").SetStateAction<string | number>>;
380
+ complexity: string | number;
381
+ setComplexity: import("react").Dispatch<import("react").SetStateAction<string | number>>;
382
+ approach: string;
383
+ setApproach: import("react").Dispatch<import("react").SetStateAction<string>>;
384
+ assignee: TaskAssignee;
385
+ setAssignee: import("react").Dispatch<import("react").SetStateAction<TaskAssignee>>;
386
+ scheduledDate: string;
387
+ setScheduledDate: import("react").Dispatch<import("react").SetStateAction<string>>;
388
+ dueDate: string;
389
+ setDueDate: import("react").Dispatch<import("react").SetStateAction<string>>;
390
+ parentTaskIdInput: string;
391
+ setParentTaskIdInput: import("react").Dispatch<import("react").SetStateAction<string>>;
392
+ addChildTaskIdInput: string;
393
+ setAddChildTaskIdInput: import("react").Dispatch<import("react").SetStateAction<string>>;
394
+ formTaxonomies: Record<string, string | number | string[] | number[]>;
395
+ setFormTaxonomies: import("react").Dispatch<import("react").SetStateAction<Record<string, string | number | string[] | number[]>>>;
396
+ selectedSpecialists: string[];
397
+ setSelectedSpecialists: import("react").Dispatch<import("react").SetStateAction<string[]>>;
398
+ comments: Comment[];
399
+ newCommentText: string;
400
+ setNewCommentText: import("react").Dispatch<import("react").SetStateAction<string>>;
401
+ screenshots: (string | AttachmentItem)[];
402
+ setScreenshots: import("react").Dispatch<import("react").SetStateAction<(string | AttachmentItem)[]>>;
403
+ descriptionFocused: boolean;
404
+ setDescriptionFocused: import("react").Dispatch<import("react").SetStateAction<boolean>>;
405
+ showMarkdownHelp: boolean;
406
+ setShowMarkdownHelp: import("react").Dispatch<import("react").SetStateAction<boolean>>;
407
+ showSpecialists: boolean;
408
+ setShowSpecialists: import("react").Dispatch<import("react").SetStateAction<boolean>>;
409
+ showChecklist: boolean;
410
+ setShowChecklist: import("react").Dispatch<import("react").SetStateAction<boolean>>;
411
+ showTaskRelationships: boolean;
412
+ setShowTaskRelationships: import("react").Dispatch<import("react").SetStateAction<boolean>>;
413
+ showChildTasks: boolean;
414
+ setShowChildTasks: import("react").Dispatch<import("react").SetStateAction<boolean>>;
415
+ showComments: boolean;
416
+ setShowComments: import("react").Dispatch<import("react").SetStateAction<boolean>>;
417
+ isCapturingScreenshot: boolean;
418
+ setIsCapturingScreenshot: import("react").Dispatch<import("react").SetStateAction<boolean>>;
419
+ handleSubmit: (e: React.FormEvent) => Promise<void>;
420
+ resetForm: () => void;
421
+ handleAddComment: (text: string) => Promise<void>;
422
+ handleSetParentForCurrentTask: (parentTaskIdOverride?: string | null) => Promise<void>;
423
+ handleAddChildToCurrentTask: () => Promise<void>;
424
+ handleCreateChildForCurrentTask: () => Promise<void>;
425
+ handleUnlinkChildTask: (childId: string) => Promise<void>;
426
+ handleReorderChildTasks: (parentTaskId: string, orderedChildIds: string[]) => Promise<void>;
427
+ handleClearParentTask: (taskId: string) => Promise<void>;
428
+ handleOpenTaskById: (taskId: string) => void;
429
+ unsavedModalOpen: boolean;
430
+ setUnsavedModalOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
431
+ pendingNavigation: (() => void) | null;
432
+ handleNavigation: (action: () => void) => void;
433
+ handleClose: () => void;
434
+ successBanner: {
435
+ message: string;
436
+ type: "added" | "updated" | "info";
437
+ } | null;
438
+ returnToParentTaskId: string | null;
439
+ returnFromChildTaskId: string | null;
440
+ clearReturnToParentTask: () => void;
441
+ copiedId: string | null;
442
+ recentlyChangedTaskIds: string[];
443
+ cancellationPromptTask: TaskItem | null;
444
+ cancellationOpenDescendantIds: string[];
445
+ cancellationMode: "cascade" | "unlink" | null;
446
+ setCancellationMode: import("react").Dispatch<import("react").SetStateAction<"cascade" | "unlink" | null>>;
447
+ confirmCancellation: (reason: string, mode?: "cascade" | "unlink" | null) => Promise<boolean>;
448
+ cancelCancellationPrompt: () => void;
449
+ scheduleWarningPrompt: {
450
+ dueDate: string;
451
+ scheduledDate: string;
452
+ } | null;
453
+ confirmScheduleWarning: () => Promise<void>;
454
+ cancelScheduleWarning: () => void;
455
+ tasksScrollRef: import("react").RefObject<HTMLDivElement | null>;
456
+ setTasksScrollPos: import("react").Dispatch<import("react").SetStateAction<number>>;
457
+ exportEnvironment: string;
458
+ setExportEnvironment: import("react").Dispatch<import("react").SetStateAction<string>>;
459
+ exportWorkflowsPath: string;
460
+ setExportWorkflowsPath: import("react").Dispatch<import("react").SetStateAction<string>>;
461
+ exportSpecialistsPath: string;
462
+ setExportSpecialistsPath: import("react").Dispatch<import("react").SetStateAction<string>>;
463
+ exportResult: {
464
+ type: "success" | "error";
465
+ message: string;
466
+ } | null;
467
+ handleExportResources: (type: "workflows" | "specialists", path: string) => Promise<void>;
468
+ exportingResource: "workflows" | "specialists" | null;
469
+ handleUpdateCategory: (updatedCat: CategoryConfig, oldLabel?: string) => Promise<void>;
470
+ handleRemoveCategory: (catValue: string) => Promise<void>;
471
+ handleSaveCategory: (newCategoryName: string) => Promise<void>;
472
+ handleUpdateCategoryIcon: (catValue: string, iconName: string) => void;
473
+ handleUpdateCategoryColor: (catValue: string, color: string) => void;
474
+ handleSaveType: (labelInput: string) => Promise<void>;
475
+ handleRemoveType: (typeToRemove: string) => Promise<void>;
476
+ handleUpdateTaxonomies: (updated: TaxonomyDefinition[]) => Promise<void>;
477
+ handleUpdatePriorities: (updated: Array<{
478
+ value: number;
479
+ label: string;
480
+ color?: string;
481
+ icon?: string;
482
+ }>) => Promise<void>;
483
+ handleUpdateApproaches: (updated: Array<{
484
+ value: string;
485
+ label: string;
486
+ color?: string;
487
+ icon?: string;
488
+ }>) => Promise<void>;
489
+ pathValidation: Record<string, {
490
+ exists: boolean;
491
+ isDirectory: boolean;
492
+ isFile: boolean;
493
+ }>;
494
+ validatePaths: (paths: string[]) => Promise<void>;
495
+ getCategoryPaths: (cat: CategoryConfig) => string[];
496
+ customCategories: CategoryConfig[];
497
+ setCustomCategories: import("react").Dispatch<import("react").SetStateAction<CategoryConfig[]>>;
498
+ projectRoot: string;
499
+ projectName: string;
500
+ mcpScriptPath: string;
501
+ serverHostRoot: string;
502
+ commentsEndRef: import("react").RefObject<HTMLDivElement | null>;
503
+ currentTask: TaskItem | undefined;
504
+ currentTaskParent: TaskItem | undefined;
505
+ currentTaskChildren: TaskItem[];
506
+ availableWorkflows: string[];
507
+ initiativeTemplates: {
508
+ id: string;
509
+ name: string;
510
+ description: string;
511
+ checklistBlocks: {
512
+ definitionOfDone: string[];
513
+ rollbackPlan: string[];
514
+ };
515
+ milestones: Array<{
516
+ title: string;
517
+ description: string;
518
+ priority?: number;
519
+ approach?: string;
520
+ category?: string;
521
+ }>;
522
+ defaultSpecialists?: string[];
523
+ }[];
524
+ availableEnvironments: Environment[];
525
+ fetchWorkflows: () => Promise<void>;
526
+ fetchInitiativeTemplates: () => Promise<any>;
527
+ fetchWorkflowTemplate: (name: string) => Promise<any>;
528
+ fetchWorkflowOverrideNames: () => Promise<string[]>;
529
+ saveWorkflowTemplateDraft: (name: string, draft: any) => Promise<{
530
+ success: boolean;
531
+ error?: string;
532
+ }>;
533
+ resetWorkflowTemplateDraft: (name: string) => Promise<{
534
+ success: boolean;
535
+ error?: string;
536
+ }>;
537
+ onExportWorkflows: (environment: string, selected: string[]) => Promise<void>;
538
+ settingsModel: {
539
+ currentTheme: TaskforceTheme;
540
+ configLoaded: boolean;
541
+ globalTheme: TaskforceTheme;
542
+ themeUseGlobalDefault: boolean;
543
+ keyShortcut: string;
544
+ jsonBackupEnabled: boolean;
545
+ globalJsonBackupEnabled: boolean;
546
+ globalWeekStartsOn: WeekStartsOn;
547
+ locale: "en-US" | "es-419" | "pt-BR";
548
+ supportedLocales: ("en-US" | "es-419" | "pt-BR")[];
549
+ jsonBackupUseGlobalDefault: boolean;
550
+ manualComplexityEnabled: boolean;
551
+ checklistDropdownEnabled: boolean;
552
+ assigneeFilterEnabled: boolean;
553
+ exportWorkflowsPath: string;
554
+ exportSpecialistsPath: string;
555
+ exportingResource: "workflows" | "specialists" | null;
556
+ exportResult: {
557
+ type: "success" | "error";
558
+ message: string;
559
+ } | null;
560
+ pathSaved: boolean;
561
+ initialSection: "categories" | "types" | "general" | "documents" | "commands" | "workflow-editor" | "agents" | "taxonomy" | "mcp" | "resources" | null;
562
+ exportEnvironment: string;
563
+ setupState: SetupStateSnapshot | null;
564
+ buildInfo: BuildMetadata | null;
565
+ onSaveSetupMode: (mode: WorkspaceMode) => Promise<boolean>;
566
+ onSaveWorkspaceProfile: (input: {
567
+ name: string;
568
+ description?: string;
569
+ workspaceId?: string;
570
+ }) => Promise<{
571
+ success: boolean;
572
+ error?: string;
573
+ code?: string;
574
+ workspaceId?: string;
575
+ }>;
576
+ onThemeChange: import("react").Dispatch<import("react").SetStateAction<TaskforceTheme>>;
577
+ onSaveTheme: (theme: TaskforceTheme) => Promise<boolean>;
578
+ onSaveGlobalTheme: (theme: TaskforceTheme) => Promise<boolean>;
579
+ onKeyShortcutChange: import("react").Dispatch<import("react").SetStateAction<string>>;
580
+ onJsonBackupEnabledChange: (enabled: boolean) => Promise<boolean>;
581
+ onSaveGlobalJsonBackupEnabled: (enabled: boolean) => Promise<boolean>;
582
+ onSaveGlobalWeekStartsOn: (weekStartsOn: WeekStartsOn) => Promise<boolean>;
583
+ onSaveLocale: (nextLocale: string) => Promise<boolean>;
584
+ onManualComplexityEnabledChange: (enabled: boolean) => Promise<boolean>;
585
+ onChecklistDropdownEnabledChange: (enabled: boolean) => Promise<boolean>;
586
+ onAssigneeFilterEnabledChange: (enabled: boolean) => Promise<boolean>;
587
+ onResetProjectToGlobal: () => Promise<boolean>;
588
+ onSaveSettings: () => Promise<boolean>;
589
+ onExportWorkflowsPathChange: import("react").Dispatch<import("react").SetStateAction<string>>;
590
+ onExportSpecialistsPathChange: import("react").Dispatch<import("react").SetStateAction<string>>;
591
+ onExportEnvironmentChange: import("react").Dispatch<import("react").SetStateAction<string>>;
592
+ onExportResources: (type: "workflows" | "specialists", path: string) => Promise<void>;
593
+ availableWorkflows: string[];
594
+ initiativeTemplates: {
595
+ id: string;
596
+ name: string;
597
+ description: string;
598
+ checklistBlocks: {
599
+ definitionOfDone: string[];
600
+ rollbackPlan: string[];
601
+ };
602
+ milestones: Array<{
603
+ title: string;
604
+ description: string;
605
+ priority?: number;
606
+ approach?: string;
607
+ category?: string;
608
+ }>;
609
+ defaultSpecialists?: string[];
610
+ }[];
611
+ availableEnvironments: Environment[];
612
+ onRefreshWorkflows: () => Promise<void>;
613
+ onRefreshInitiativeTemplates: () => Promise<any>;
614
+ onCreateInitiativeFromTemplate: (payload: {
615
+ templateId: string;
616
+ title: string;
617
+ description?: string;
618
+ category?: string;
619
+ type?: string;
620
+ priority?: number;
621
+ approach?: string;
622
+ parentTaskId?: string | null;
623
+ specialists?: string[];
624
+ }) => Promise<{
625
+ success: boolean;
626
+ error?: string;
627
+ result?: any;
628
+ }>;
629
+ onCloneChecklistBlocksToChildren: (payload: {
630
+ parentTaskId: string;
631
+ checklistBlocks: {
632
+ definitionOfDone: string[];
633
+ rollbackPlan: string[];
634
+ };
635
+ }) => Promise<{
636
+ success: boolean;
637
+ error?: string;
638
+ updated?: number;
639
+ }>;
640
+ onFetchWorkflowTemplate: (name: string) => Promise<any>;
641
+ onFetchWorkflowOverrideNames: () => Promise<string[]>;
642
+ onSaveWorkflowTemplateDraft: (name: string, draft: any) => Promise<{
643
+ success: boolean;
644
+ error?: string;
645
+ }>;
646
+ onResetWorkflowTemplateDraft: (name: string) => Promise<{
647
+ success: boolean;
648
+ error?: string;
649
+ }>;
650
+ onExportWorkflows: (environment: string, selected: string[]) => Promise<void>;
651
+ onShowFolderBrowserChange: import("react").Dispatch<import("react").SetStateAction<boolean>>;
652
+ onBrowserTargetChange: import("react").Dispatch<import("react").SetStateAction<{
653
+ type: "category";
654
+ value: string;
655
+ } | {
656
+ type: "context-link";
657
+ } | "storage" | null>>;
658
+ onFetchFolders: (path?: string) => Promise<void>;
659
+ categories: CategoryConfig[];
660
+ pathValidation: Record<string, {
661
+ exists: boolean;
662
+ isDirectory: boolean;
663
+ isFile: boolean;
664
+ }>;
665
+ onUpdateCategory: (updatedCat: CategoryConfig, oldLabel?: string) => Promise<void>;
666
+ onRemoveCategory: (catValue: string) => Promise<void>;
667
+ onSaveCategory: (newCategoryName: string) => Promise<void>;
668
+ onAddPath: (catValue: string, pathInput: string) => void;
669
+ onRemovePath: (catValue: string, pathToRemove: string) => void;
670
+ onUpdateCategoryIcon: (catValue: string, iconName: string) => void;
671
+ onUpdateCategoryColor: (catValue: string, color: string) => void;
672
+ types: {
673
+ value: string;
674
+ label: string;
675
+ }[];
676
+ onSaveType: (labelInput: string) => Promise<void>;
677
+ onRemoveType: (typeToRemove: string) => Promise<void>;
678
+ taxonomies: TaxonomyDefinition[];
679
+ onUpdateTaxonomies: (updated: TaxonomyDefinition[]) => Promise<void>;
680
+ priorities: {
681
+ value: number;
682
+ label: string;
683
+ color?: string;
684
+ icon?: string;
685
+ }[];
686
+ onUpdatePriorities: (updated: Array<{
687
+ value: number;
688
+ label: string;
689
+ color?: string;
690
+ icon?: string;
691
+ }>) => Promise<void>;
692
+ approaches: {
693
+ value: string;
694
+ label: string;
695
+ color?: string;
696
+ icon?: string;
697
+ }[];
698
+ onUpdateApproaches: (updated: Array<{
699
+ value: string;
700
+ label: string;
701
+ color?: string;
702
+ icon?: string;
703
+ }>) => Promise<void>;
704
+ projectRoot: string;
705
+ projectName: string;
706
+ mcpHostRoot: string;
707
+ serverHostRoot: string;
708
+ mcpScriptPath: string;
709
+ tenantId: string;
710
+ workspaceId: string;
711
+ runtimeMode: "local" | "cloud";
712
+ workspaceSwitchingEnabled: boolean;
713
+ currentWorkspaceRole: "owner" | "admin" | "member" | "read-only";
714
+ currentWorkspaceName: string;
715
+ onDeleteWorkspace: (workspaceId: string) => Promise<{
716
+ success: boolean;
717
+ error?: string;
718
+ code?: string;
719
+ nextWorkspaceId?: string;
720
+ workspaceSetupRequired?: boolean;
721
+ cleanupWarnings?: string[];
722
+ }>;
723
+ onMcpHostRootChange: import("react").Dispatch<import("react").SetStateAction<string>>;
724
+ isAuthenticated: boolean;
725
+ };
726
+ };
727
+ export {};