@taskforcehq/taskforce 0.3.170 → 0.3.300

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (696) hide show
  1. package/README.md +52 -21
  2. package/dist/Taskforce.module.css +3394 -5981
  3. package/dist/TaskforceCore.CategoryFallback.test.js +5 -2
  4. package/dist/TaskforceCore.filter-persistence.test.js +402 -0
  5. package/dist/TaskforceCore.js +388 -71
  6. package/dist/TaskforceCore.routing.test.js +311 -0
  7. package/dist/TaskforceCore.test.js +3344 -615
  8. package/dist/TaskforceWidget.js +3 -2
  9. package/dist/__tests__/localizationCatalogs.test.js +48 -31
  10. package/dist/__tests__/workflowSimulation.test.js +2 -2
  11. package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.d.ts +60 -0
  12. package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.js +324 -0
  13. package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.test.js +278 -0
  14. package/dist/annotatedAttachments/payload.d.ts +2 -0
  15. package/dist/annotatedAttachments/payload.js +54 -0
  16. package/dist/annotatedAttachments/payload.test.js +67 -0
  17. package/dist/annotatedAttachments/service.d.ts +49 -0
  18. package/dist/annotatedAttachments/service.js +121 -0
  19. package/dist/annotatedAttachments/types.d.ts +86 -0
  20. package/dist/cli.js +74 -25
  21. package/dist/compat/deploymentCompat.d.ts +12 -0
  22. package/dist/compat/deploymentCompat.js +43 -0
  23. package/dist/compat/workspaceSyncCompat.d.ts +6 -0
  24. package/dist/compat/workspaceSyncCompat.js +79 -0
  25. package/dist/compat/workspaceSyncCompat.test.js +87 -0
  26. package/dist/components/features/AgentsModule.d.ts +5 -0
  27. package/dist/components/features/AgentsModule.js +131 -0
  28. package/dist/components/features/AgentsModule.test.js +102 -0
  29. package/dist/components/features/AnnotatedAttachmentWorkspace.d.ts +24 -0
  30. package/dist/components/features/AnnotatedAttachmentWorkspace.js +1942 -0
  31. package/dist/components/features/AnnotatedAttachmentWorkspace.test.js +2831 -0
  32. package/dist/components/features/DocumentGenerateModal.js +8 -16
  33. package/dist/components/features/DocumentIndex.d.ts +3 -4
  34. package/dist/components/features/DocumentIndex.js +22 -10
  35. package/dist/components/features/DocumentViewer.d.ts +6 -2
  36. package/dist/components/features/DocumentViewer.js +1000 -18
  37. package/dist/components/features/DocumentWorkspace.d.ts +40 -2
  38. package/dist/components/features/DocumentWorkspace.js +96 -16
  39. package/dist/components/features/DocumentWorkspace.test.js +1202 -0
  40. package/dist/components/features/InitiativesModule.d.ts +22 -0
  41. package/dist/components/features/InitiativesModule.js +33 -0
  42. package/dist/components/features/TaskSettings.d.ts +41 -32
  43. package/dist/components/features/TaskSettings.js +798 -313
  44. package/dist/components/features/TaskSettings.test.js +1221 -47
  45. package/dist/components/features/WorkflowsModule.d.ts +27 -0
  46. package/dist/components/features/WorkflowsModule.js +21 -0
  47. package/dist/components/features/documentWorkspaceFilters.d.ts +10 -0
  48. package/dist/components/features/documentWorkspaceFilters.js +11 -0
  49. package/dist/components/features/settings/CategoryManager.d.ts +2 -0
  50. package/dist/components/features/settings/CategoryManager.js +15 -8
  51. package/dist/components/features/settings/PriorityManager.d.ts +18 -0
  52. package/dist/components/features/settings/PriorityManager.js +51 -0
  53. package/dist/components/features/settings/TaxonomyEditor.d.ts +2 -1
  54. package/dist/components/features/settings/TaxonomyEditor.js +41 -18
  55. package/dist/components/features/settings/TaxonomyLibraryManager.d.ts +26 -0
  56. package/dist/components/features/settings/TaxonomyLibraryManager.js +301 -0
  57. package/dist/components/features/settings/TaxonomyLibraryManager.test.js +141 -0
  58. package/dist/components/features/settings/TaxonomyManager.d.ts +35 -12
  59. package/dist/components/features/settings/TaxonomyManager.js +59 -27
  60. package/dist/components/features/settings/TypeManager.d.ts +11 -0
  61. package/dist/components/features/settings/TypeManager.js +48 -11
  62. package/dist/components/features/settings/{WorkflowEditorPrototype.d.ts → WorkflowEditor.d.ts} +2 -2
  63. package/dist/components/features/settings/{WorkflowEditorPrototype.js → WorkflowEditor.js} +3 -3
  64. package/dist/components/task/TaskActionHeader.d.ts +12 -2
  65. package/dist/components/task/TaskActionHeader.js +64 -8
  66. package/dist/components/task/TaskActionHeader.test.js +73 -0
  67. package/dist/components/task/TaskCard.d.ts +14 -16
  68. package/dist/components/task/TaskCard.js +144 -174
  69. package/dist/components/task/TaskCard.test.js +416 -64
  70. package/dist/components/task/TaskContextUpload.d.ts +6 -5
  71. package/dist/components/task/TaskContextUpload.js +199 -64
  72. package/dist/components/task/TaskContextUpload.test.js +331 -14
  73. package/dist/components/task/TaskForm.d.ts +23 -29
  74. package/dist/components/task/TaskForm.js +348 -169
  75. package/dist/components/task/TaskForm.test.js +419 -23
  76. package/dist/components/task/TaskKanban.d.ts +20 -21
  77. package/dist/components/task/TaskKanban.js +176 -316
  78. package/dist/components/task/TaskKanban.planning-drop.test.js +93 -0
  79. package/dist/components/task/TaskList.d.ts +22 -11
  80. package/dist/components/task/TaskList.js +98 -12
  81. package/dist/components/task/TaskList.test.js +206 -7
  82. package/dist/components/task/TaskReferenceBadge.d.ts +12 -0
  83. package/dist/components/task/TaskReferenceBadge.js +5 -0
  84. package/dist/components/task/TaskStatusActions.d.ts +12 -0
  85. package/dist/components/task/TaskStatusActions.js +18 -0
  86. package/dist/components/task/TaskStatusActions.test.js +45 -0
  87. package/dist/components/ui/ImageReferenceBadge.d.ts +12 -0
  88. package/dist/components/ui/ImageReferenceBadge.js +5 -0
  89. package/dist/components/ui/LevelSelector.d.ts +2 -1
  90. package/dist/components/ui/LevelSelector.js +2 -2
  91. package/dist/components/ui/Markdown.d.ts +1 -2
  92. package/dist/components/ui/Markdown.js +2 -13
  93. package/dist/components/ui/Modal.d.ts +3 -2
  94. package/dist/components/ui/Modal.js +4 -3
  95. package/dist/components/ui/MultiSelectFilter.d.ts +3 -1
  96. package/dist/components/ui/MultiSelectFilter.js +2 -2
  97. package/dist/components/ui/ReferenceBadgeButton.d.ts +13 -0
  98. package/dist/components/ui/ReferenceBadgeButton.js +6 -0
  99. package/dist/components/ui/TaxonomyDropdown.d.ts +7 -1
  100. package/dist/components/ui/TaxonomyDropdown.js +58 -23
  101. package/dist/components/ui/TopNoticeLayer.d.ts +7 -0
  102. package/dist/components/ui/TopNoticeLayer.js +14 -0
  103. package/dist/components/ui/TopNoticeLayer.test.js +25 -0
  104. package/dist/components/views/AppShellHeader.d.ts +13 -0
  105. package/dist/components/views/AppShellHeader.js +19 -0
  106. package/dist/components/views/AppShellHeader.test.js +21 -0
  107. package/dist/components/views/PlanComparisonPage.d.ts +73 -0
  108. package/dist/components/views/PlanComparisonPage.js +196 -0
  109. package/dist/components/views/PlanComparisonPage.test.js +251 -0
  110. package/dist/components/views/PlansPage.d.ts +14 -0
  111. package/dist/components/views/PlansPage.js +355 -0
  112. package/dist/components/views/StandaloneLayout.d.ts +2 -2
  113. package/dist/components/views/StandaloneLayout.js +2212 -1194
  114. package/dist/components/views/WidgetView.d.ts +2 -2
  115. package/dist/components/views/WidgetView.js +149 -43
  116. package/dist/components/views/chrome/WorkspaceChromeSections.d.ts +57 -0
  117. package/dist/components/views/chrome/WorkspaceChromeSections.js +38 -0
  118. package/dist/components/views/chrome/WorkspaceChromeSections.test.js +54 -0
  119. package/dist/components/views/chrome/workspaceChrome.d.ts +31 -0
  120. package/dist/components/views/chrome/workspaceChrome.js +108 -0
  121. package/dist/components/views/chrome/workspaceChrome.test.js +52 -0
  122. package/dist/components/views/panels/DocumentFilterToolbar.d.ts +10 -0
  123. package/dist/components/views/panels/DocumentFilterToolbar.js +7 -0
  124. package/dist/components/views/panels/DocumentFilterToolbar.test.js +19 -0
  125. package/dist/components/views/panels/FilterToolbar.d.ts +66 -0
  126. package/dist/components/views/panels/FilterToolbar.js +21 -0
  127. package/dist/components/views/panels/FilterToolbar.test.d.ts +1 -0
  128. package/dist/components/views/panels/FilterToolbar.test.js +45 -0
  129. package/dist/components/views/panels/FilterToolbarControls.d.ts +46 -0
  130. package/dist/components/views/panels/FilterToolbarControls.js +61 -0
  131. package/dist/components/views/panels/PlanningDrawer.d.ts +115 -0
  132. package/dist/components/views/panels/PlanningDrawer.js +220 -0
  133. package/dist/components/views/panels/ScheduleSidebar.d.ts +52 -0
  134. package/dist/components/views/panels/ScheduleSidebar.js +127 -0
  135. package/dist/components/views/panels/scheduleUtils.d.ts +14 -0
  136. package/dist/components/views/panels/scheduleUtils.js +79 -0
  137. package/dist/components/views/teamManagementAccess.d.ts +6 -0
  138. package/dist/components/views/teamManagementAccess.js +18 -0
  139. package/dist/components/views/teamManagementAccess.test.d.ts +1 -0
  140. package/dist/components/views/teamManagementAccess.test.js +44 -0
  141. package/dist/config/clientDeployment.d.ts +2 -0
  142. package/dist/config/clientDeployment.js +13 -0
  143. package/dist/config/cloudEnvironment.d.ts +15 -0
  144. package/dist/config/cloudEnvironment.js +60 -0
  145. package/dist/config/deployment.d.ts +20 -0
  146. package/dist/config/deployment.js +67 -0
  147. package/dist/config/deployment.test.d.ts +1 -0
  148. package/dist/config/deployment.test.js +88 -0
  149. package/dist/config/envSchema.js +36 -8
  150. package/dist/config/envSchema.test.js +28 -0
  151. package/dist/core/AiProfileService.d.ts +66 -0
  152. package/dist/core/AiProfileService.js +320 -0
  153. package/dist/core/AiProfileService.test.d.ts +1 -0
  154. package/dist/core/AiProfileService.test.js +164 -0
  155. package/dist/core/AiProfiles.test.d.ts +1 -0
  156. package/dist/core/AiProfiles.test.js +449 -0
  157. package/dist/core/AttachmentLinkService.d.ts +15 -0
  158. package/dist/core/AttachmentLinkService.js +157 -0
  159. package/dist/core/AuthTokenService.d.ts +44 -0
  160. package/dist/core/AuthTokenService.js +207 -0
  161. package/dist/core/CreatedBy.test.js +134 -6
  162. package/dist/core/DeletedTaskLifecycleService.d.ts +33 -0
  163. package/dist/core/DeletedTaskLifecycleService.js +158 -0
  164. package/dist/core/DeletedTaskTrash.test.d.ts +1 -0
  165. package/dist/core/DeletedTaskTrash.test.js +104 -0
  166. package/dist/core/EntitlementsPolicy.test.js +78 -5
  167. package/dist/core/GlobalSettingsService.d.ts +16 -0
  168. package/dist/core/GlobalSettingsService.js +370 -0
  169. package/dist/core/JsonBackupRuntime.test.d.ts +1 -0
  170. package/dist/core/JsonBackupRuntime.test.js +155 -0
  171. package/dist/core/McpTokenService.d.ts +118 -0
  172. package/dist/core/McpTokenService.js +921 -0
  173. package/dist/core/PlanEntitlementService.d.ts +201 -0
  174. package/dist/core/PlanEntitlementService.js +1442 -0
  175. package/dist/core/PlanVersionPolicy.test.d.ts +1 -0
  176. package/dist/core/PlanVersionPolicy.test.js +178 -0
  177. package/dist/core/PlanningEntities.test.d.ts +1 -0
  178. package/dist/core/PlanningEntities.test.js +95 -0
  179. package/dist/core/ScheduleFields.test.js +15 -19
  180. package/dist/core/SignupMonetizationSettings.test.d.ts +1 -0
  181. package/dist/core/SignupMonetizationSettings.test.js +159 -0
  182. package/dist/core/Stats.test.d.ts +1 -0
  183. package/dist/core/Stats.test.js +36 -0
  184. package/dist/core/SyncReconciliationService.d.ts +93 -0
  185. package/dist/core/SyncReconciliationService.js +406 -0
  186. package/dist/core/SystemAdmin.test.js +578 -13
  187. package/dist/core/TaskActivityService.d.ts +21 -0
  188. package/dist/core/TaskActivityService.js +130 -0
  189. package/dist/core/TaskAttachmentsCanonical.test.d.ts +1 -0
  190. package/dist/core/TaskAttachmentsCanonical.test.js +306 -0
  191. package/dist/core/TaskAuditTimeline.test.d.ts +1 -0
  192. package/dist/core/TaskAuditTimeline.test.js +132 -0
  193. package/dist/core/TaskTaxonomyValidation.test.js +338 -15
  194. package/dist/core/Taskforce.d.ts +930 -183
  195. package/dist/core/Taskforce.ids.test.js +252 -0
  196. package/dist/core/Taskforce.js +3848 -2532
  197. package/dist/core/Taskforce.mcpAuth.test.d.ts +1 -0
  198. package/dist/core/Taskforce.mcpAuth.test.js +343 -0
  199. package/dist/core/Taskforce.realtimeMutation.test.js +57 -2
  200. package/dist/core/TaxonomySettingsService.d.ts +18 -0
  201. package/dist/core/TaxonomySettingsService.js +162 -0
  202. package/dist/core/WorkspaceDelete.test.js +32 -13
  203. package/dist/core/WorkspaceLifecycleService.d.ts +11 -0
  204. package/dist/core/WorkspaceLifecycleService.js +88 -0
  205. package/dist/core/WorkspacePermissions.test.js +95 -0
  206. package/dist/core/WorkspacePlanMode.test.js +114 -1
  207. package/dist/core/WorkspacePreferenceService.d.ts +41 -0
  208. package/dist/core/WorkspacePreferenceService.js +246 -0
  209. package/dist/core/WorkspaceSyncSettings.test.d.ts +1 -0
  210. package/dist/core/WorkspaceSyncSettings.test.js +65 -0
  211. package/dist/core/__tests__/TaskAttachmentsCanonical.test.d.ts +1 -0
  212. package/dist/core/__tests__/TaskAttachmentsCanonical.test.js +212 -0
  213. package/dist/core/shared.d.ts +36 -0
  214. package/dist/core/shared.js +128 -0
  215. package/dist/core/types.d.ts +614 -0
  216. package/dist/core/types.js +27 -0
  217. package/dist/documentReviews/DocumentReviewCommentStore.d.ts +56 -0
  218. package/dist/documentReviews/DocumentReviewCommentStore.js +230 -0
  219. package/dist/documentReviews/DocumentReviewSessionStore.d.ts +52 -0
  220. package/dist/documentReviews/DocumentReviewSessionStore.js +193 -0
  221. package/dist/documentReviews/DocumentReviewSessionStore.test.d.ts +1 -0
  222. package/dist/documentReviews/DocumentReviewSessionStore.test.js +127 -0
  223. package/dist/documentReviews/service.d.ts +68 -0
  224. package/dist/documentReviews/service.js +210 -0
  225. package/dist/documentReviews/types.d.ts +58 -0
  226. package/dist/documentReviews/types.js +1 -0
  227. package/dist/hooks/auth/useAuthGuardPolicy.d.ts +2 -0
  228. package/dist/hooks/auth/useAuthGuardPolicy.js +1 -0
  229. package/dist/hooks/tasks/useCurrentTaskRelations.d.ts +15 -0
  230. package/dist/hooks/tasks/useCurrentTaskRelations.js +37 -0
  231. package/dist/hooks/tasks/useTaskActions.d.ts +3 -0
  232. package/dist/hooks/tasks/useTaskActions.js +2 -0
  233. package/dist/hooks/tasks/useTaskEditorNavigation.d.ts +65 -0
  234. package/dist/hooks/tasks/useTaskEditorNavigation.js +235 -0
  235. package/dist/hooks/tasks/useTaskFilters.d.ts +2 -0
  236. package/dist/hooks/tasks/useTaskFilters.js +2 -0
  237. package/dist/hooks/tasks/useTaskFormActions.d.ts +58 -0
  238. package/dist/hooks/tasks/useTaskFormActions.js +365 -0
  239. package/dist/hooks/tasks/useTaskRelationships.d.ts +16 -0
  240. package/dist/hooks/tasks/useTaskRelationships.js +64 -0
  241. package/dist/hooks/ui/useResourceExport.d.ts +19 -0
  242. package/dist/hooks/ui/useResourceExport.js +84 -0
  243. package/dist/hooks/ui/useSettingsModel.d.ts +203 -0
  244. package/dist/hooks/ui/useSettingsModel.js +125 -0
  245. package/dist/hooks/ui/useSettingsPersistence.d.ts +36 -0
  246. package/dist/hooks/ui/useSettingsPersistence.js +254 -0
  247. package/dist/hooks/ui/useSettingsTaxonomyManagement.d.ts +119 -0
  248. package/dist/hooks/ui/useSettingsTaxonomyManagement.js +536 -0
  249. package/dist/hooks/ui/useUiNotice.d.ts +1 -0
  250. package/dist/hooks/ui/useUiNotice.js +1 -0
  251. package/dist/hooks/ui/useWorkflowTemplates.d.ts +37 -0
  252. package/dist/hooks/ui/useWorkflowTemplates.js +111 -0
  253. package/dist/hooks/ui/useZenMode.d.ts +5 -0
  254. package/dist/hooks/ui/useZenMode.js +32 -0
  255. package/dist/hooks/useFilterSort.d.ts +60 -0
  256. package/dist/hooks/useFilterSort.js +362 -0
  257. package/dist/hooks/useFilterSort.test.d.ts +1 -0
  258. package/dist/hooks/useFilterSort.test.js +333 -0
  259. package/dist/hooks/useRealtimeSync.d.ts +1 -0
  260. package/dist/hooks/useRealtimeSync.js +24 -9
  261. package/dist/hooks/useRealtimeSync.test.js +28 -1
  262. package/dist/hooks/useSyncOrchestrator.aiProfiles.test.d.ts +1 -0
  263. package/dist/hooks/useSyncOrchestrator.aiProfiles.test.js +34 -0
  264. package/dist/hooks/useSyncOrchestrator.d.ts +65 -103
  265. package/dist/hooks/useSyncOrchestrator.js +1538 -670
  266. package/dist/hooks/useSyncOrchestrator.retry-closure.test.js +700 -174
  267. package/dist/hooks/useTaskData.d.ts +35 -0
  268. package/dist/hooks/useTaskData.js +239 -0
  269. package/dist/hooks/useTaskData.test.d.ts +1 -0
  270. package/dist/hooks/useTaskData.test.js +119 -0
  271. package/dist/hooks/useTaskMutations.d.ts +46 -0
  272. package/dist/hooks/useTaskMutations.js +472 -0
  273. package/dist/hooks/useTaskMutations.test.d.ts +1 -0
  274. package/dist/hooks/useTaskMutations.test.js +80 -0
  275. package/dist/hooks/useTaskforce.contract.test.d.ts +1 -0
  276. package/dist/hooks/useTaskforce.contract.test.js +7 -0
  277. package/dist/hooks/useTaskforce.d.ts +260 -295
  278. package/dist/hooks/useTaskforce.js +1954 -2623
  279. package/dist/hooks/useTaskforce.priority-filters.test.js +6 -11
  280. package/dist/hooks/useTaskforce.sync-behavior.test.d.ts +1 -0
  281. package/dist/hooks/useTaskforce.sync-behavior.test.js +1120 -0
  282. package/dist/hooks/useUiNotice.d.ts +16 -0
  283. package/dist/hooks/useUiNotice.js +49 -0
  284. package/dist/hooks/useWorkspaceSyncController.d.ts +23 -46
  285. package/dist/hooks/useWorkspaceSyncController.js +280 -461
  286. package/dist/hooks/useWorkspaceSyncController.test.js +106 -199
  287. package/dist/hooks/workspace/useTaskforceApiRouting.d.ts +8 -0
  288. package/dist/hooks/workspace/useTaskforceApiRouting.js +91 -0
  289. package/dist/hooks/workspace/useTaskforceApiRouting.test.d.ts +1 -0
  290. package/dist/hooks/workspace/useTaskforceApiRouting.test.js +60 -0
  291. package/dist/hooks/workspace/useWorkspaceSyncController.d.ts +1 -0
  292. package/dist/hooks/workspace/useWorkspaceSyncController.js +1 -0
  293. package/dist/hooks/workspace/workspaceLocalState.d.ts +30 -0
  294. package/dist/hooks/workspace/workspaceLocalState.js +101 -0
  295. package/dist/localization/locales/en-US.d.ts +1 -8
  296. package/dist/localization/locales/en-US.js +4 -11
  297. package/dist/localization/locales/es-419.js +2 -9
  298. package/dist/localization/locales/pt-BR.js +2 -9
  299. package/dist/localization/localizationCatalogs.test.d.ts +1 -0
  300. package/dist/localization/localizationCatalogs.test.js +37 -0
  301. package/dist/main.d.ts +1 -0
  302. package/dist/main.js +9 -15
  303. package/dist/mcp/clientIntegrations.d.ts +33 -0
  304. package/dist/mcp/clientIntegrations.js +199 -0
  305. package/dist/mcp/clientIntegrations.test.d.ts +1 -0
  306. package/dist/mcp/clientIntegrations.test.js +110 -0
  307. package/dist/mcp/index.d.ts +2 -0
  308. package/dist/mcp/index.js +2 -0
  309. package/dist/mcp/optionResolution.test.js +6 -2
  310. package/dist/mcp/runtime.d.ts +120 -0
  311. package/dist/mcp/runtime.js +5668 -0
  312. package/dist/mcp/runtime.test.d.ts +1 -0
  313. package/dist/mcp/runtime.test.js +3293 -0
  314. package/dist/mcp/server.js +2 -1793
  315. package/dist/mcp/structuredCommentValidation.test.d.ts +1 -0
  316. package/dist/{__tests__ → mcp}/structuredCommentValidation.test.js +1 -1
  317. package/dist/mcp/structuredDocValidation.js +1 -2
  318. package/dist/mcp/structuredDocValidation.test.d.ts +1 -0
  319. package/dist/{__tests__ → mcp}/structuredDocValidation.test.js +9 -4
  320. package/dist/mcp/toolRegistry.d.ts +570 -0
  321. package/dist/mcp/toolRegistry.js +90 -0
  322. package/dist/mcp/toolRegistry.test.d.ts +1 -0
  323. package/dist/mcp/toolRegistry.test.js +30 -0
  324. package/dist/migrations/billingSchemaParity.test.js +111 -0
  325. package/dist/migrations/taskSchemaMigrations.d.ts +5 -0
  326. package/dist/migrations/taskSchemaMigrations.js +681 -39
  327. package/dist/migrations/taskSchemaMigrations.test.d.ts +1 -0
  328. package/dist/migrations/taskSchemaMigrations.test.js +210 -0
  329. package/dist/plugins/vite.js +13 -7
  330. package/dist/public/apple-touch-icon.png +0 -0
  331. package/dist/public/archive/phoenix/apple-touch-icon.png +0 -0
  332. package/dist/public/archive/phoenix/favicon.ico +0 -0
  333. package/dist/public/archive/phoenix/site.webmanifest +1 -0
  334. package/dist/public/favicon-96x96.png +0 -0
  335. package/dist/public/favicon.ico +0 -0
  336. package/dist/public/favicon.svg +17 -0
  337. package/dist/public/site.webmanifest +21 -1
  338. package/dist/public/web-app-manifest-192x192.png +0 -0
  339. package/dist/public/web-app-manifest-512x512.png +0 -0
  340. package/dist/releaseVersion.test.d.ts +1 -0
  341. package/dist/{__tests__/releaseVersion.test.js → releaseVersion.test.js} +1 -1
  342. package/dist/resources/templates/WORKFLOW_V2_POLICY.md +1 -1
  343. package/dist/resources/templates/workflow-sources/workflowDocs.mjs +62 -52
  344. package/dist/resources/templates/workflows/collaborate.yaml +11 -5
  345. package/dist/resources/templates/workflows/do.yaml +8 -2
  346. package/dist/resources/templates/workflows/evaluate.yaml +13 -7
  347. package/dist/resources/templates/workflows/execute.yaml +40 -23
  348. package/dist/resources/templates/workflows/plan.yaml +15 -8
  349. package/dist/resources/templates/workflows/review.yaml +14 -8
  350. package/dist/runtime/appGateDefinitions.d.ts +32 -0
  351. package/dist/runtime/appGateDefinitions.js +32 -0
  352. package/dist/runtime/appGates.d.ts +29 -0
  353. package/dist/runtime/appGates.js +53 -0
  354. package/dist/runtime/appGates.test.d.ts +1 -0
  355. package/dist/runtime/appGates.test.js +42 -0
  356. package/dist/runtime/migrationFlags.d.ts +1 -0
  357. package/dist/runtime/migrationFlags.js +1 -0
  358. package/dist/server/annotatedAttachmentsRoutes.test.d.ts +1 -0
  359. package/dist/server/annotatedAttachmentsRoutes.test.js +473 -0
  360. package/dist/server/auth.js +14 -2
  361. package/dist/server/auth.test.js +21 -1
  362. package/dist/server/cors.js +11 -5
  363. package/dist/server/cors.test.js +6 -0
  364. package/dist/server/documentReviewRoutes.test.d.ts +1 -0
  365. package/dist/server/documentReviewRoutes.test.js +157 -0
  366. package/dist/server/index.cookieProxy.test.js +46 -1
  367. package/dist/server/index.d.ts +20 -0
  368. package/dist/server/index.js +168 -41
  369. package/dist/server/index.rateLimit.test.js +6 -0
  370. package/dist/server/index.test.js +133 -2
  371. package/dist/server/mockStripe.d.ts +72 -0
  372. package/dist/server/mockStripe.js +357 -0
  373. package/dist/server/realtimeSyncWs.js +4 -0
  374. package/dist/server/routes/admin.d.ts +114 -0
  375. package/dist/server/routes/admin.js +2226 -0
  376. package/dist/server/routes/annotatedAttachments.d.ts +24 -0
  377. package/dist/server/routes/annotatedAttachments.js +235 -0
  378. package/dist/server/routes/auth.d.ts +61 -0
  379. package/dist/server/routes/auth.js +1296 -0
  380. package/dist/server/{routes.billing.d.ts → routes/billing.d.ts} +3 -2
  381. package/dist/server/routes/billing.js +2001 -0
  382. package/dist/server/routes/billing.test.d.ts +1 -0
  383. package/dist/server/routes/billing.test.js +1631 -0
  384. package/dist/server/routes/documentReviews.d.ts +11 -0
  385. package/dist/server/routes/documentReviews.js +191 -0
  386. package/dist/server/routes/documents.d.ts +118 -0
  387. package/dist/server/routes/documents.js +1113 -0
  388. package/dist/server/routes/resources.d.ts +25 -0
  389. package/dist/server/routes/resources.js +225 -0
  390. package/dist/server/routes/shared.d.ts +35 -0
  391. package/dist/server/routes/shared.js +305 -0
  392. package/dist/server/routes/shared.test.d.ts +1 -0
  393. package/dist/server/routes/shared.test.js +32 -0
  394. package/dist/server/{routes.sync.d.ts → routes/sync.d.ts} +5 -5
  395. package/dist/server/routes/sync.integration.test.d.ts +1 -0
  396. package/dist/server/routes/sync.integration.test.js +2003 -0
  397. package/dist/server/routes/sync.js +3143 -0
  398. package/dist/server/routes/tasks.d.ts +72 -0
  399. package/dist/server/routes/tasks.js +1252 -0
  400. package/dist/server/routes/workspaces.d.ts +32 -0
  401. package/dist/server/routes/workspaces.js +307 -0
  402. package/dist/server/routes.d.ts +8 -9
  403. package/dist/server/routes.js +968 -4092
  404. package/dist/server/routes.test.js +9043 -2415
  405. package/dist/server/runtimeMode.d.ts +1 -1
  406. package/dist/server/runtimeMode.js +3 -18
  407. package/dist/server/runtimeMode.test.js +3 -3
  408. package/dist/server/securityHeaders.d.ts +1 -1
  409. package/dist/server/securityHeaders.js +65 -6
  410. package/dist/server/securityHeaders.test.js +40 -2
  411. package/dist/services/templateEngine.test.d.ts +1 -0
  412. package/dist/{__tests__ → services}/templateEngine.test.js +1 -1
  413. package/dist/services/templates.test.d.ts +1 -0
  414. package/dist/{__tests__ → services}/templates.test.js +1 -1
  415. package/dist/services/workflowDocumentFixtures.test.d.ts +1 -0
  416. package/dist/{__tests__ → services}/workflowDocumentFixtures.test.js +4 -4
  417. package/dist/services/workflowExportMatrix.test.d.ts +1 -0
  418. package/dist/{__tests__ → services}/workflowExportMatrix.test.js +1 -1
  419. package/dist/services/workflowExportSnapshots.test.d.ts +1 -0
  420. package/dist/services/workflowGeneration.test.d.ts +1 -0
  421. package/dist/services/workflowSimulation.test.d.ts +1 -0
  422. package/dist/services/workflowSimulation.test.js +113 -0
  423. package/dist/services/workflowV2Policy.test.d.ts +1 -0
  424. package/dist/{__tests__ → services}/workflowV2Policy.test.js +2 -2
  425. package/dist/shared/aiProfileSurfaceType.d.ts +9 -0
  426. package/dist/shared/aiProfileSurfaceType.js +49 -0
  427. package/dist/shared/customTaxonomyLibrary.d.ts +11 -0
  428. package/dist/shared/customTaxonomyLibrary.js +276 -0
  429. package/dist/shared/customTaxonomyLibrary.test.d.ts +1 -0
  430. package/dist/shared/customTaxonomyLibrary.test.js +20 -0
  431. package/dist/shared/taxonomyCatalog.d.ts +19 -0
  432. package/dist/shared/taxonomyCatalog.js +36 -0
  433. package/dist/shared/taxonomyDefaults.d.ts +29 -0
  434. package/dist/shared/taxonomyDefaults.js +26 -0
  435. package/dist/shared/taxonomyLibrary.d.ts +15 -0
  436. package/dist/shared/taxonomyLibrary.js +98 -0
  437. package/dist/shared/taxonomyLibrary.test.d.ts +1 -0
  438. package/dist/shared/taxonomyLibrary.test.js +26 -0
  439. package/dist/shared/taxonomyState.d.ts +36 -0
  440. package/dist/shared/taxonomyState.js +73 -0
  441. package/dist/shared/taxonomyState.test.d.ts +1 -0
  442. package/dist/shared/taxonomyState.test.js +71 -0
  443. package/dist/shared/workflowDefaults.d.ts +9 -0
  444. package/dist/shared/workflowDefaults.js +11 -0
  445. package/dist/storage/documentIntegrity.d.ts +2 -0
  446. package/dist/storage/documentIntegrity.js +34 -17
  447. package/dist/storage/documentPurge.d.ts +2 -1
  448. package/dist/storage/documentPurge.js +35 -8
  449. package/dist/storage/index.d.ts +4 -0
  450. package/dist/storage/index.js +2 -0
  451. package/dist/storage/objectStorage.d.ts +1 -1
  452. package/dist/storage/objectStorageClient.d.ts +6 -4
  453. package/dist/storage/objectStorageClient.js +77 -29
  454. package/dist/storage/objectStorageClient.test.d.ts +1 -0
  455. package/dist/storage/objectStorageClient.test.js +57 -0
  456. package/dist/storage/objectStorageConfig.js +3 -1
  457. package/dist/storage/objectStorageConfig.test.d.ts +1 -0
  458. package/dist/storage/objectStorageConfig.test.js +38 -0
  459. package/dist/storage/postgresAdapter.d.ts +5 -0
  460. package/dist/storage/postgresAdapter.js +2 -2
  461. package/dist/storage/postgresAdapter.test.d.ts +1 -0
  462. package/dist/storage/postgresAdapter.test.js +29 -0
  463. package/dist/storage/taskAssetStore.d.ts +7 -4
  464. package/dist/storage/taskAssetStore.js +65 -60
  465. package/dist/storage/workspaceAssetStore.d.ts +122 -0
  466. package/dist/storage/workspaceAssetStore.js +496 -0
  467. package/dist/storage/workspaceAssetStore.test.d.ts +1 -0
  468. package/dist/storage/workspaceAssetStore.test.js +501 -0
  469. package/dist/sync/cloudSyncApi.d.ts +33 -2
  470. package/dist/sync/cloudSyncApi.js +37 -15
  471. package/dist/sync/cloudSyncApi.test.js +60 -3
  472. package/dist/sync/index.d.ts +2 -0
  473. package/dist/sync/index.js +3 -0
  474. package/dist/sync/syncService.d.ts +25 -0
  475. package/dist/sync/syncService.js +184 -16
  476. package/dist/sync/syncService.test.js +289 -25
  477. package/dist/sync/workspaceRepair.d.ts +114 -0
  478. package/dist/sync/workspaceRepair.js +566 -0
  479. package/dist/sync/workspaceSyncModel.d.ts +230 -2
  480. package/dist/sync/workspaceSyncModel.js +456 -17
  481. package/dist/sync/workspaceSyncModel.test.js +642 -0
  482. package/dist/sync/workspaceSyncState.d.ts +12 -0
  483. package/dist/sync/workspaceSyncState.js +12 -0
  484. package/dist/sync/workspaceSyncSurface.d.ts +33 -0
  485. package/dist/sync/workspaceSyncSurface.js +74 -0
  486. package/dist/types.d.ts +143 -18
  487. package/dist/types.js +9 -24
  488. package/dist/ui/assets/AgentsModule-TVmCgizS.js +1 -0
  489. package/dist/ui/assets/AnnotatedAttachmentWorkspace-BaS2VwIr.css +1 -0
  490. package/dist/ui/assets/AnnotatedAttachmentWorkspace-CAyhnPeR.js +3 -0
  491. package/dist/ui/assets/DocumentWorkspace-BOCw5e4D.js +250 -0
  492. package/dist/ui/assets/DocumentWorkspace-C_8T8oz-.css +1 -0
  493. package/dist/ui/assets/InitiativesModule-CN0r02Oi.js +1 -0
  494. package/dist/ui/assets/PlansPage-BlVC_lRq.css +1 -0
  495. package/dist/ui/assets/PlansPage-FcQSNLZd.js +1 -0
  496. package/dist/ui/assets/TaskSettings-BwB9NtmJ.css +1 -0
  497. package/dist/ui/assets/TaskSettings-Cw5zYD1L.js +8 -0
  498. package/dist/ui/assets/WorkflowsModule-CY9R2zPB.js +5 -0
  499. package/dist/ui/assets/index-Bzqy5QGm.js +6 -0
  500. package/dist/ui/assets/index-DxRiI3tY.css +1 -0
  501. package/dist/ui/assets/vendor-dnd-DRzYolkg.js +5 -0
  502. package/dist/ui/assets/{vendor-icons-ZFG3SGwo.js → vendor-icons-QZyhEwgT.js} +1 -1
  503. package/dist/ui/assets/{vendor-markdown-CKYkQHfj.js → vendor-markdown-BUxTU7dS.js} +1 -1
  504. package/dist/ui/assets/vendor-react-CKJs5o3c.js +61 -0
  505. package/dist/ui/assets/vendor-router-BbWMxlnO.js +3 -0
  506. package/dist/ui/branding/logos/logo.png +0 -0
  507. package/dist/ui/branding/logos/logo_dark.svg +27 -0
  508. package/dist/ui/branding/logos/logo_favicon.svg +35 -0
  509. package/dist/ui/branding/logos/logo_light.svg +27 -0
  510. package/dist/ui/favicon/apple-touch-icon.png +0 -0
  511. package/dist/ui/favicon/archive/phoenix/apple-touch-icon.png +0 -0
  512. package/dist/ui/favicon/archive/phoenix/favicon.ico +0 -0
  513. package/dist/ui/favicon/archive/phoenix/site.webmanifest +1 -0
  514. package/dist/ui/favicon/favicon-96x96.png +0 -0
  515. package/dist/ui/favicon/favicon.ico +0 -0
  516. package/dist/ui/favicon/favicon.svg +17 -0
  517. package/dist/ui/favicon/site.webmanifest +21 -1
  518. package/dist/ui/favicon/web-app-manifest-192x192.png +0 -0
  519. package/dist/ui/favicon/web-app-manifest-512x512.png +0 -0
  520. package/dist/ui/index.html +10 -7
  521. package/dist/ui/product/screen_01.png +0 -0
  522. package/dist/ui/product/screen_02.png +0 -0
  523. package/dist/ui/product/screen_03.png +0 -0
  524. package/dist/utils/annotatedAttachments.d.ts +20 -0
  525. package/dist/utils/annotatedAttachments.js +74 -0
  526. package/dist/utils/annotatedAttachments.test.d.ts +1 -0
  527. package/dist/utils/annotatedAttachments.test.js +108 -0
  528. package/dist/utils/assignees.d.ts +26 -0
  529. package/dist/utils/assignees.js +132 -0
  530. package/dist/utils/canonicalAssetKind.d.ts +16 -0
  531. package/dist/utils/canonicalAssetKind.js +39 -0
  532. package/dist/utils/canonicalAssetKind.test.d.ts +1 -0
  533. package/dist/utils/canonicalAssetKind.test.js +24 -0
  534. package/dist/utils/coalescedRefresh.d.ts +5 -0
  535. package/dist/utils/coalescedRefresh.js +16 -0
  536. package/dist/utils/coalescedRefresh.test.d.ts +1 -0
  537. package/dist/utils/coalescedRefresh.test.js +30 -0
  538. package/dist/utils/constants.d.ts +16 -3
  539. package/dist/utils/constants.icons.test.js +2 -1
  540. package/dist/utils/constants.js +70 -13
  541. package/dist/utils/contextAssetEvents.d.ts +7 -0
  542. package/dist/utils/contextAssetEvents.js +6 -0
  543. package/dist/utils/contextFiles.d.ts +14 -3
  544. package/dist/utils/contextFiles.js +40 -8
  545. package/dist/utils/documentManagerApi.d.ts +6 -0
  546. package/dist/utils/documentManagerApi.js +19 -0
  547. package/dist/utils/documentNames.d.ts +24 -0
  548. package/dist/utils/documentNames.js +91 -0
  549. package/dist/utils/documentReferences.d.ts +9 -0
  550. package/dist/utils/documentReferences.js +11 -0
  551. package/dist/utils/entityReferences.d.ts +9 -0
  552. package/dist/utils/entityReferences.js +32 -0
  553. package/dist/utils/imageReferences.d.ts +9 -0
  554. package/dist/utils/imageReferences.js +11 -0
  555. package/dist/utils/planParser.d.ts +2 -2
  556. package/dist/utils/planParser.js +11 -11
  557. package/dist/utils/planParser.test.d.ts +1 -0
  558. package/dist/{__tests__ → utils}/planParser.test.js +22 -22
  559. package/dist/utils/planningReferences.d.ts +17 -0
  560. package/dist/utils/planningReferences.js +30 -0
  561. package/dist/utils/planningReferences.test.d.ts +1 -0
  562. package/dist/utils/planningReferences.test.js +17 -0
  563. package/dist/utils/taskActivity.d.ts +9 -0
  564. package/dist/utils/taskActivity.js +147 -0
  565. package/dist/utils/taskActivity.test.d.ts +1 -0
  566. package/dist/utils/taskActivity.test.js +34 -0
  567. package/dist/utils/taskDraftDefaults.d.ts +21 -0
  568. package/dist/utils/taskDraftDefaults.js +40 -0
  569. package/dist/utils/taskDraftDefaults.test.d.ts +1 -0
  570. package/dist/utils/taskDraftDefaults.test.js +34 -0
  571. package/dist/utils/taskNormalization.d.ts +25 -0
  572. package/dist/utils/taskNormalization.js +161 -0
  573. package/dist/utils/taskNormalization.test.d.ts +1 -0
  574. package/dist/utils/taskNormalization.test.js +158 -0
  575. package/dist/utils/taskReferences.d.ts +5 -0
  576. package/dist/utils/taskReferences.js +11 -0
  577. package/dist/utils/taskforceApiClient.d.ts +2 -0
  578. package/dist/utils/taskforceApiClient.js +101 -3
  579. package/dist/utils/taskforceApiClient.test.d.ts +1 -0
  580. package/dist/utils/taskforceApiClient.test.js +44 -0
  581. package/dist/utils/taxonomyFilterOptions.d.ts +2 -0
  582. package/dist/utils/taxonomyFilterOptions.js +17 -0
  583. package/dist/utils/taxonomyFormDefaults.d.ts +3 -0
  584. package/dist/utils/taxonomyFormDefaults.js +28 -0
  585. package/dist/utils/taxonomyFormDefaults.test.d.ts +1 -0
  586. package/dist/utils/taxonomyFormDefaults.test.js +63 -0
  587. package/dist/utils/taxonomyLifecycle.d.ts +3 -0
  588. package/dist/utils/taxonomyLifecycle.js +17 -0
  589. package/dist/utils/taxonomySorting.d.ts +7 -0
  590. package/dist/utils/taxonomySorting.js +74 -0
  591. package/dist/utils/theme.d.ts +15 -0
  592. package/dist/utils/theme.js +23 -0
  593. package/dist/utils/uiNotice.d.ts +7 -0
  594. package/dist/utils/uiNotice.js +6 -0
  595. package/dist/utils/uiNotice.test.d.ts +1 -0
  596. package/dist/utils/uiNotice.test.js +18 -0
  597. package/dist/utils/workspaceIdentity.d.ts +14 -0
  598. package/dist/utils/workspaceIdentity.js +21 -0
  599. package/dist/utils/workspaceIdentity.test.js +30 -1
  600. package/dist/utils/workspaceSyncPresentation.d.ts +20 -0
  601. package/dist/utils/workspaceSyncPresentation.js +21 -0
  602. package/dist/utils/workspaceSyncPresentation.test.d.ts +1 -0
  603. package/dist/utils/workspaceSyncPresentation.test.js +36 -0
  604. package/package.json +28 -23
  605. package/scripts/bootstrap-playwright-auth.mjs +155 -0
  606. package/scripts/check-compat-boundaries.mjs +41 -0
  607. package/scripts/check-env.ts +9 -2
  608. package/scripts/debug-login.mjs +32 -0
  609. package/scripts/migrate-planning-model.ts +233 -0
  610. package/scripts/migrate-task-data-assets.mjs +408 -0
  611. package/scripts/playwright-auth.sh +11 -0
  612. package/scripts/run-dev-proxy.sh +2 -0
  613. package/scripts/update-homebrew-formula.sh +2 -2
  614. package/scripts/with-esbuild.sh +11 -0
  615. package/src/resources/templates/WORKFLOW_V2_POLICY.md +1 -1
  616. package/src/resources/templates/workflow-sources/workflowDocs.mjs +62 -52
  617. package/src/resources/templates/workflows/collaborate.yaml +11 -5
  618. package/src/resources/templates/workflows/do.yaml +8 -2
  619. package/src/resources/templates/workflows/evaluate.yaml +13 -7
  620. package/src/resources/templates/workflows/execute.yaml +40 -23
  621. package/src/resources/templates/workflows/plan.yaml +15 -8
  622. package/src/resources/templates/workflows/review.yaml +14 -8
  623. package/dist/TaskforceScreenshot.d.ts +0 -11
  624. package/dist/TaskforceScreenshot.js +0 -113
  625. package/dist/compat/priorityCompat.d.ts +0 -2
  626. package/dist/compat/priorityCompat.js +0 -24
  627. package/dist/components/features/settings/TaxonomyManager 2.d.ts +0 -52
  628. package/dist/components/features/settings/TaxonomyManager 2.js +0 -75
  629. package/dist/components/task/TaskKanban 2.d.ts +0 -76
  630. package/dist/components/task/TaskKanban 2.js +0 -1004
  631. package/dist/components/task/TaskScreenshotSection.d.ts +0 -15
  632. package/dist/components/task/TaskScreenshotSection.js +0 -22
  633. package/dist/components/views/StandaloneLayout 2.d.ts +0 -8
  634. package/dist/components/views/StandaloneLayout 2.js +0 -1660
  635. package/dist/core/InitiativeTemplates.test.js +0 -50
  636. package/dist/core/ParentLifecycle.test.js +0 -98
  637. package/dist/migrations/clientMigrations.d.ts +0 -9
  638. package/dist/migrations/clientMigrations.js +0 -74
  639. package/dist/migrations/flags.d.ts +0 -6
  640. package/dist/migrations/flags.js +0 -8
  641. package/dist/migrations/taskMigrations.d.ts +0 -71
  642. package/dist/migrations/taskMigrations.js +0 -236
  643. package/dist/migrations/taskMigrations.test.js +0 -34
  644. package/dist/server/routes.billing.js +0 -991
  645. package/dist/server/routes.billing.test.js +0 -387
  646. package/dist/server/routes.sync.integration.test.js +0 -470
  647. package/dist/server/routes.sync.js +0 -1141
  648. package/dist/soak/syncSoakHarness.d.ts +0 -6
  649. package/dist/soak/syncSoakHarness.js +0 -10
  650. package/dist/ui/assets/index-0W5vyCpn.css +0 -1
  651. package/dist/ui/assets/index-MCZuNNfn.js +0 -23
  652. package/dist/ui/assets/logo_white_01-0Vx-iIIv.png +0 -0
  653. package/dist/ui/assets/vendor-dnd-BI1K77C1.js +0 -5
  654. package/dist/ui/assets/vendor-react-DdIDsh7f.js +0 -9
  655. package/dist/ui/assets/vendor-router-BtiNU7Dl.js +0 -3
  656. package/dist/utils/taskHierarchy.d.ts +0 -4
  657. package/dist/utils/taskHierarchy.js +0 -69
  658. package/dist/utils/taskHierarchy.test.js +0 -38
  659. package/dist/utils/taskParenting.d.ts +0 -3
  660. package/dist/utils/taskParenting.js +0 -24
  661. package/dist/utils/taskParenting.test.js +0 -21
  662. package/dist/utils/taskRelations.d.ts +0 -6
  663. package/dist/utils/taskRelations.js +0 -24
  664. package/dist/utils/taskRelations.test.js +0 -34
  665. package/scripts/check-compat-boundaries.js +0 -48
  666. /package/dist/{__tests__/planParser.test.d.ts → TaskforceCore.filter-persistence.test.d.ts} +0 -0
  667. /package/dist/{__tests__/releaseVersion.test.d.ts → TaskforceCore.routing.test.d.ts} +0 -0
  668. /package/dist/{__tests__/structuredCommentValidation.test.d.ts → annotatedAttachments/AnnotatedAttachmentSessionStore.test.d.ts} +0 -0
  669. /package/dist/{__tests__/structuredDocValidation.test.d.ts → annotatedAttachments/payload.test.d.ts} +0 -0
  670. /package/dist/{__tests__/templateEngine.test.d.ts → annotatedAttachments/types.js} +0 -0
  671. /package/dist/{__tests__/templates.test.d.ts → compat/workspaceSyncCompat.test.d.ts} +0 -0
  672. /package/dist/{__tests__/workflowDocumentFixtures.test.d.ts → components/features/AgentsModule.test.d.ts} +0 -0
  673. /package/dist/{__tests__/workflowExportMatrix.test.d.ts → components/features/AnnotatedAttachmentWorkspace.test.d.ts} +0 -0
  674. /package/dist/{__tests__/workflowExportSnapshots.test.d.ts → components/features/DocumentWorkspace.test.d.ts} +0 -0
  675. /package/dist/{__tests__/workflowGeneration.test.d.ts → components/features/settings/TaxonomyLibraryManager.test.d.ts} +0 -0
  676. /package/dist/{__tests__/workflowV2Policy.test.d.ts → components/task/TaskActionHeader.test.d.ts} +0 -0
  677. /package/dist/{core/InitiativeTemplates.test.d.ts → components/task/TaskKanban.planning-drop.test.d.ts} +0 -0
  678. /package/dist/{core/ParentLifecycle.test.d.ts → components/task/TaskStatusActions.test.d.ts} +0 -0
  679. /package/dist/{migrations/taskMigrations.test.d.ts → components/ui/TopNoticeLayer.test.d.ts} +0 -0
  680. /package/dist/{server/routes.billing.test.d.ts → components/views/AppShellHeader.test.d.ts} +0 -0
  681. /package/dist/{server/routes.sync.integration.test.d.ts → components/views/PlanComparisonPage.test.d.ts} +0 -0
  682. /package/dist/{utils/taskHierarchy.test.d.ts → components/views/chrome/WorkspaceChromeSections.test.d.ts} +0 -0
  683. /package/dist/{utils/taskParenting.test.d.ts → components/views/chrome/workspaceChrome.test.d.ts} +0 -0
  684. /package/dist/{utils/taskRelations.test.d.ts → components/views/panels/DocumentFilterToolbar.test.d.ts} +0 -0
  685. /package/dist/public/{android-chrome-192x192.png → archive/phoenix/android-chrome-192x192.png} +0 -0
  686. /package/dist/public/{android-chrome-512x512.png → archive/phoenix/android-chrome-512x512.png} +0 -0
  687. /package/dist/public/{favicon-16x16.png → archive/phoenix/favicon-16x16.png} +0 -0
  688. /package/dist/public/{favicon-32x32.png → archive/phoenix/favicon-32x32.png} +0 -0
  689. /package/dist/public/{favicon.png → archive/phoenix/favicon.png} +0 -0
  690. /package/dist/{__tests__ → services}/workflowExportSnapshots.test.js +0 -0
  691. /package/dist/{__tests__ → services}/workflowGeneration.test.js +0 -0
  692. /package/dist/ui/favicon/{android-chrome-192x192.png → archive/phoenix/android-chrome-192x192.png} +0 -0
  693. /package/dist/ui/favicon/{android-chrome-512x512.png → archive/phoenix/android-chrome-512x512.png} +0 -0
  694. /package/dist/ui/favicon/{favicon-16x16.png → archive/phoenix/favicon-16x16.png} +0 -0
  695. /package/dist/ui/favicon/{favicon-32x32.png → archive/phoenix/favicon-32x32.png} +0 -0
  696. /package/dist/ui/favicon/{favicon.png → archive/phoenix/favicon.png} +0 -0
@@ -1,6 +1,6 @@
1
1
  const MIN_VERSION = '0.3.13-beta.2';
2
- const ALLOWED_STATUSES = ['task', 'on-hold', 'in-progress', 'review'];
3
- const FORBIDDEN_STATUSES = ['done', 'cancelled'];
2
+ const ALLOWED_STATUSES = ['task', 'on-hold', 'in-progress', 'review', 'done'];
3
+ const FORBIDDEN_STATUSES = ['cancelled'];
4
4
 
5
5
  const baseToolPolicy = (criticalTools, forbiddenTools = []) => ({
6
6
  requiredToolsPolicy: {
@@ -19,6 +19,8 @@ const baseContextPolicy = {
19
19
  sourcePriority: ['mcp'],
20
20
  mcp: {
21
21
  knownTaskIdTool: '{{MCP_PREFIX}}get_task',
22
+ taskAttachmentListTool: '{{MCP_PREFIX}}get_task_attachments',
23
+ taskAttachmentReadTool: '{{MCP_PREFIX}}read_task_attachment',
22
24
  unknownTaskIdTools: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks']
23
25
  },
24
26
  mcpUnavailableAction: 'stop-and-request-user-action'
@@ -29,6 +31,8 @@ const protocolBlock = (label) => [
29
31
  '> 1. **MCP-first load**:',
30
32
  '> - If task ID is known, call `{{MCP_PREFIX}}get_task`.',
31
33
  '> - If task ID is unknown, use `{{MCP_PREFIX}}list_tasks` / `{{MCP_PREFIX}}search_tasks` to identify it.',
34
+ '> - If task attachments may matter, call `{{MCP_PREFIX}}get_task_attachments` and then `{{MCP_PREFIX}}read_task_attachment` for the specific files you need.',
35
+ '> - Do not try to open task attachment HTTP paths directly when MCP attachment-read tools are available.',
32
36
  '> - If MCP is unavailable, stop and request user action.',
33
37
  '> 2. Print `prompts.startupChecklist`.'
34
38
  ].join('\n');
@@ -53,7 +57,7 @@ export const workflowDocs = [
53
57
  compat: {
54
58
  minTaskforceVersion: MIN_VERSION,
55
59
  requiredToolsCritical: ['{{MCP_PREFIX}}get_task'],
56
- requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}attach_context_file', '{{MCP_PREFIX}}save_task_attachment']
60
+ requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}get_task_attachments', '{{MCP_PREFIX}}read_task_attachment', '{{MCP_PREFIX}}link_task_context', '{{MCP_PREFIX}}save_task_attachment']
57
61
  },
58
62
  toolPolicy: baseToolPolicy(['{{MCP_PREFIX}}get_task']),
59
63
  contextPolicy: baseContextPolicy,
@@ -100,11 +104,11 @@ export const workflowDocs = [
100
104
  },
101
105
  compat: {
102
106
  minTaskforceVersion: MIN_VERSION,
103
- requiredToolsCritical: ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}add_comment'],
104
- requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}get_config', '{{MCP_PREFIX}}create_task', '{{MCP_PREFIX}}attach_context_file', '{{MCP_PREFIX}}save_task_attachment']
107
+ requiredToolsCritical: ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}add_comment', '{{MCP_PREFIX}}finish_task'],
108
+ requiredToolsOptional: ['{{MCP_PREFIX}}resolve_profile', '{{MCP_PREFIX}}list_assignees', '{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}get_task_attachments', '{{MCP_PREFIX}}read_task_attachment', '{{MCP_PREFIX}}get_config', '{{MCP_PREFIX}}create_task', '{{MCP_PREFIX}}link_task_context', '{{MCP_PREFIX}}save_task_attachment']
105
109
  },
106
110
  toolPolicy: baseToolPolicy(
107
- ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}add_comment'],
111
+ ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}add_comment', '{{MCP_PREFIX}}finish_task'],
108
112
  ['{{MCP_PREFIX}}archive_task']
109
113
  ),
110
114
  artifacts: {
@@ -121,12 +125,13 @@ export const workflowDocs = [
121
125
  "3. [ ] **Specialists Loaded**: [List names or 'None']"
122
126
  ].join('\n'),
123
127
  handoffChecklist: [
124
- '- [ ] Status set to `review` unless user explicitly requested another allowed status',
128
+ '- [ ] Final status set with `{{MCP_PREFIX}}finish_task`',
129
+ '- [ ] Used `done` when no explicit human validation was requested, or `review` when human validation/approval was needed',
125
130
  '- [ ] Summary comment added with `{{MCP_PREFIX}}add_comment`',
126
131
  '- [ ] `walkthrough.md` updated',
127
- '- [ ] Parent/child links changed only when explicitly requested',
132
+ '- [ ] Planning relationships changed only when explicitly requested',
128
133
  '- [ ] Did NOT call `{{MCP_PREFIX}}archive_task`',
129
- '- [ ] Did NOT set `done` or `cancelled` unless explicitly instructed'
134
+ '- [ ] Did NOT set `cancelled` unless explicitly instructed'
130
135
  ].join('\n')
131
136
  },
132
137
  content: {
@@ -154,36 +159,38 @@ export const workflowDocs = [
154
159
  ' - If task complexity is `3` to `5`, create or refresh `implementation_plan.md` before major code edits.',
155
160
  ' - If complexity is below `3`, planning is optional.',
156
161
  '2. **Task management mode gate (required before task mutations)**:',
157
- ' - Choose exactly one mode and state it explicitly: `checklist_mode` or `decompose_mode`.',
162
+ ' - Choose exactly one mode and state it explicitly: `checklist_mode` or `planning_mode`.',
158
163
  ' - Default to `checklist_mode` for linear/short execution.',
159
- ' - Use `decompose_mode` only when at least one is true:',
164
+ ' - Use `planning_mode` only when at least one is true:',
160
165
  ' - multi-system or multi-owner work',
161
166
  ' - meaningful parallelization',
162
167
  ' - expected duration > 1 day',
163
168
  ' - explicit dependency/risk tracking is needed',
164
- ' - user explicitly asks for subtasks',
165
- '3. **Owner strategy gate (required before task creation/update)**:',
166
- ' - Set ownership explicitly with `owner` (alias of `assignee`): `user`, `agent`, or `unassigned`.',
167
- ' - If user console/credential action is required, set `owner=user`.',
168
- ' - If AI can execute independently, set `owner=agent`.',
169
- ' - If unclear, set `owner=unassigned` and add a clarification note.',
169
+ ' - user explicitly asks for more structural planning context',
170
+ '3. **Identity + owner strategy gate (required before task creation/update)**:',
171
+ ' - Call `{{MCP_PREFIX}}resolve_profile` before creating tasks, assigning tasks, or adding agent-authored comments.',
172
+ ' - Stateless client pattern: call `{{MCP_PREFIX}}resolve_profile`, save the returned `profileToken`, and include `profileToken` on later mutating calls if the client does not preserve session state.',
173
+ ' - Use the returned profile ID directly when assigning work to yourself.',
174
+ ' - Call `{{MCP_PREFIX}}list_assignees` before assigning tasks to someone else, then use a concrete workspace member ID or AI profile ID.',
175
+ ' - Never use generic owner values like `agent` or `user`.',
176
+ ' - If unclear who should own the work, set `owner=unassigned` and add a clarification note.',
170
177
  '4. **Preflight confirmation gate (required before creating multiple tasks)**:',
171
- ' - Confirm mode: `checklist_mode` vs `decompose_mode`.',
172
- ' - Confirm owner default: `user` / `agent` / `mixed`.',
178
+ ' - Confirm mode: `checklist_mode` vs `planning_mode`.',
179
+ ' - Confirm owner default: a concrete assignee ID, `unassigned`, or a mixed plan with explicit IDs.',
173
180
  ' - Confirm whether assignment should be set immediately.',
174
181
  '5. **Config gate**:',
175
182
  ' - Before setting category/type/priority/approach/status/complexity, call `{{MCP_PREFIX}}get_config`.',
183
+ ' - Treat `{{MCP_PREFIX}}get_config` as the source of truth for taxonomy and enum values; do not rely on remembered type/category names.',
176
184
  '6. **Set active state**:',
177
185
  ' - Set status to `in-progress` with `{{MCP_PREFIX}}update_task`.',
178
186
  '',
179
187
  '### Phase B: Execution',
180
188
  '1. Implement code changes.',
181
189
  '2. Run validation steps (automated tests + manual checks as needed).',
182
- '3. If user requests relationship work:',
183
- ' - Link/unlink/re-parent using `{{MCP_PREFIX}}update_task` (`parentTaskId`).',
184
- ' - Create child tasks using `{{MCP_PREFIX}}create_task` with `parentTaskId` set.',
185
- ' - Every created child task must include explicit `owner`/`assignee`.',
186
- ' - Re-parent only after explicit user confirmation.',
190
+ '3. If user requests planning relationship work:',
191
+ ' - Link/unlink a task to a workstream using `{{MCP_PREFIX}}set_task_workstream` or `{{MCP_PREFIX}}clear_task_workstream`.',
192
+ ' - Link/unlink a workstream to an initiative using `{{MCP_PREFIX}}set_workstream_initiative` or `{{MCP_PREFIX}}clear_workstream_initiative`.',
193
+ ' - Create new tasks/workstreams/initiatives only when they materially improve execution clarity.',
187
194
  '4. If blocked, switch to Collaborate mode and capture blocker context.',
188
195
  '',
189
196
  '### Phase C: Handover',
@@ -192,10 +199,12 @@ export const workflowDocs = [
192
199
  ' - Validation evidence',
193
200
  ' - Remaining risks',
194
201
  '2. Add summary comment with `{{MCP_PREFIX}}add_comment`.',
195
- '3. Set status to `review` via `{{MCP_PREFIX}}update_task` unless user explicitly requests another allowed status (`task`, `on-hold`, `in-progress`, `review`).',
196
- ' - If setting status to `task` or `on-hold`, add explicit comment justification using `{{MCP_PREFIX}}add_comment`.',
197
- '4. Never set `done` or `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
198
- '5. Do not auto-set parent tasks to `done` or `cancelled` due to child changes; only do so if user explicitly instructs.',
202
+ '3. Use `{{MCP_PREFIX}}finish_task` for final handoff.',
203
+ ' - Use `outcome: "done"` when the work is complete and no explicit human validation is requested.',
204
+ ' - Use `outcome: "review"` when human validation or approval is still needed.',
205
+ ' - When uncertain, prefer `review`.',
206
+ '4. Never set `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
207
+ '5. Do not change sibling or related task statuses unless the user explicitly instructs it.',
199
208
  '6. Print `prompts.handoffChecklist` and stop.'
200
209
  ].join('\n')
201
210
  }
@@ -211,7 +220,7 @@ export const workflowDocs = [
211
220
  compat: {
212
221
  minTaskforceVersion: MIN_VERSION,
213
222
  requiredToolsCritical: ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}add_comment'],
214
- requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}get_config', '{{MCP_PREFIX}}attach_context_file', '{{MCP_PREFIX}}save_task_attachment']
223
+ requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}get_task_attachments', '{{MCP_PREFIX}}read_task_attachment', '{{MCP_PREFIX}}get_config', '{{MCP_PREFIX}}link_task_context', '{{MCP_PREFIX}}save_task_attachment']
215
224
  },
216
225
  toolPolicy: baseToolPolicy(
217
226
  ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}add_comment'],
@@ -219,7 +228,7 @@ export const workflowDocs = [
219
228
  ),
220
229
  artifacts: {
221
230
  implementationPlan: {
222
- path: '.taskforce/task-data/{taskId}/attachments/implementation-plan.md',
231
+ path: 'task attachment "implementation-plan.md"',
223
232
  required: false,
224
233
  savePolicy: 'ask-before-save'
225
234
  }
@@ -245,6 +254,7 @@ export const workflowDocs = [
245
254
  '## 1. Startup (Mandatory)',
246
255
  '',
247
256
  '1. Call `{{MCP_PREFIX}}get_config` before setting category/type/priority/approach/status/complexity.',
257
+ ' - Treat `{{MCP_PREFIX}}get_config` as the source of truth for taxonomy and enum values; do not rely on remembered type/category names.',
248
258
  '2. Set status to `in-progress` via `{{MCP_PREFIX}}update_task`.',
249
259
  '3. Load specialist instructions for the active environment and acknowledge constraints.',
250
260
  '4. Load all relevant context sources tied to the task.',
@@ -254,9 +264,9 @@ export const workflowDocs = [
254
264
  '## 2. Planning Deliverable',
255
265
  '',
256
266
  '0. Choose and record task management mode for follow-on execution:',
257
- ' - `checklist_mode` (single parent + in-task checklist) for linear short work.',
258
- ' - `decompose_mode` (child tasks) only when dependencies/parallelism/risk tracking justify decomposition.',
259
- ' - Record owner strategy: `user`, `agent`, or `mixed`.',
267
+ ' - `checklist_mode` (single task + in-task checklist) for linear short work.',
268
+ ' - `planning_mode` (tasks grouped into workstreams/initiatives) only when structure improves clarity, dependencies, or ownership.',
269
+ ' - Record owner strategy as explicit assignee IDs, `unassigned`, or a mixed plan with explicit IDs.',
260
270
  '',
261
271
  '1. Define file-level change plan (exact files and intended changes).',
262
272
  '2. Identify compatibility and regression risks.',
@@ -274,9 +284,9 @@ export const workflowDocs = [
274
284
  ' - `### Next Action`',
275
285
  '6. Ask whether to save as `{artifacts.implementationPlan.path}`.',
276
286
  '7. If user confirms, persist task-specific content via `{{MCP_PREFIX}}save_task_attachment` using `filename: "implementation-plan.md"`.',
277
- ' - Use `{{MCP_PREFIX}}attach_context_file` only for linking existing files/URLs (for example, shared docs under `docs/`).',
287
+ ' - Use `{{MCP_PREFIX}}link_task_context` only for linking existing files/URLs (for example, shared docs under `docs/`).',
278
288
  '8. If setting status to `task` or `on-hold`, add explicit comment justification using `{{MCP_PREFIX}}add_comment`.',
279
- '9. Never set `done` or `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
289
+ '9. Never set `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
280
290
  '10. Print `prompts.handoffPrompt` and stop.'
281
291
  ].join('\n')
282
292
  }
@@ -292,7 +302,7 @@ export const workflowDocs = [
292
302
  compat: {
293
303
  minTaskforceVersion: MIN_VERSION,
294
304
  requiredToolsCritical: ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}add_comment'],
295
- requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}attach_context_file', '{{MCP_PREFIX}}save_task_attachment']
305
+ requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}get_task_attachments', '{{MCP_PREFIX}}read_task_attachment', '{{MCP_PREFIX}}link_task_context', '{{MCP_PREFIX}}save_task_attachment']
296
306
  },
297
307
  toolPolicy: baseToolPolicy(
298
308
  ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}add_comment'],
@@ -300,7 +310,7 @@ export const workflowDocs = [
300
310
  ),
301
311
  artifacts: {
302
312
  collaborationBlueprint: {
303
- path: '.taskforce/task-data/{taskId}/attachments/collaboration-blueprint.md',
313
+ path: 'task attachment "collaboration-blueprint.md"',
304
314
  required: false,
305
315
  savePolicy: 'ask-before-save'
306
316
  }
@@ -348,10 +358,10 @@ export const workflowDocs = [
348
358
  ' - `### Next Step`',
349
359
  '4. Ask whether to save as `{artifacts.collaborationBlueprint.path}`.',
350
360
  '5. If user confirms, persist task-specific content via `{{MCP_PREFIX}}save_task_attachment` using `filename: "collaboration-blueprint.md"`.',
351
- ' - Use `{{MCP_PREFIX}}attach_context_file` only for linking existing files/URLs (for example, shared docs under `docs/`).',
361
+ ' - Use `{{MCP_PREFIX}}link_task_context` only for linking existing files/URLs (for example, shared docs under `docs/`).',
352
362
  '6. Ask concise clarification questions only if required fields above are missing.',
353
363
  '7. If setting status to `task` or `on-hold`, add explicit comment justification using `{{MCP_PREFIX}}add_comment`.',
354
- '8. Never set `done` or `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
364
+ '8. Never set `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
355
365
  '9. Ask user whether to proceed to `/plan`.',
356
366
  '10. Stop.'
357
367
  ].join('\n')
@@ -368,7 +378,7 @@ export const workflowDocs = [
368
378
  compat: {
369
379
  minTaskforceVersion: MIN_VERSION,
370
380
  requiredToolsCritical: ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}add_comment'],
371
- requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}get_config', '{{MCP_PREFIX}}attach_context_file', '{{MCP_PREFIX}}save_task_attachment']
381
+ requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}get_task_attachments', '{{MCP_PREFIX}}read_task_attachment', '{{MCP_PREFIX}}get_config', '{{MCP_PREFIX}}link_task_context', '{{MCP_PREFIX}}save_task_attachment']
372
382
  },
373
383
  toolPolicy: baseToolPolicy(
374
384
  ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}add_comment'],
@@ -376,7 +386,7 @@ export const workflowDocs = [
376
386
  ),
377
387
  artifacts: {
378
388
  evaluationReport: {
379
- path: '.taskforce/task-data/{taskId}/attachments/evaluation.md',
389
+ path: 'task attachment "evaluation.md"',
380
390
  required: false,
381
391
  savePolicy: 'ask-before-save'
382
392
  }
@@ -425,14 +435,14 @@ export const workflowDocs = [
425
435
  ' - `### Next Step`',
426
436
  '4. Ask whether to save as `{artifacts.evaluationReport.path}`.',
427
437
  '5. If user confirms, persist task-specific content via `{{MCP_PREFIX}}save_task_attachment` using `filename: "evaluation.md"`.',
428
- ' - Use `{{MCP_PREFIX}}attach_context_file` only for linking existing files/URLs (for example, shared docs under `docs/`).',
429
- '6. Never set `done` or `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
438
+ ' - Use `{{MCP_PREFIX}}link_task_context` only for linking existing files/URLs (for example, shared docs under `docs/`).',
439
+ '6. Never set `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
430
440
  '',
431
441
  '## 3. Optional Report Artifact',
432
442
  '',
433
443
  '1. Use report files only when user opts in.',
434
- '2. Save to `.taskforce/task-data/{taskId}/attachments/evaluation.md` and attach to task context when approved.',
435
- ' - If the document is not task-specific, store it under `docs/` and optionally link it with `{{MCP_PREFIX}}attach_context_file`.',
444
+ '2. Save to `task attachment "evaluation.md"` and attach to task context when approved.',
445
+ ' - If the document is not task-specific, store it under `docs/` and optionally link it with `{{MCP_PREFIX}}link_task_context`.',
436
446
  '3. Stop.'
437
447
  ].join('\n')
438
448
  }
@@ -448,7 +458,7 @@ export const workflowDocs = [
448
458
  compat: {
449
459
  minTaskforceVersion: MIN_VERSION,
450
460
  requiredToolsCritical: ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}add_comment'],
451
- requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}attach_context_file', '{{MCP_PREFIX}}save_task_attachment']
461
+ requiredToolsOptional: ['{{MCP_PREFIX}}list_tasks', '{{MCP_PREFIX}}search_tasks', '{{MCP_PREFIX}}get_task_attachments', '{{MCP_PREFIX}}read_task_attachment', '{{MCP_PREFIX}}update_task', '{{MCP_PREFIX}}link_task_context', '{{MCP_PREFIX}}save_task_attachment']
452
462
  },
453
463
  toolPolicy: baseToolPolicy(
454
464
  ['{{MCP_PREFIX}}get_task', '{{MCP_PREFIX}}add_comment'],
@@ -456,7 +466,7 @@ export const workflowDocs = [
456
466
  ),
457
467
  artifacts: {
458
468
  reviewReport: {
459
- path: '.taskforce/task-data/{taskId}/attachments/review.md',
469
+ path: 'task attachment "review.md"',
460
470
  required: false,
461
471
  savePolicy: 'ask-before-save'
462
472
  }
@@ -503,16 +513,16 @@ export const workflowDocs = [
503
513
  ' - `### Next Status`',
504
514
  '3. Ask whether to save as `{artifacts.reviewReport.path}`.',
505
515
  '4. If user confirms, persist task-specific content via `{{MCP_PREFIX}}save_task_attachment` using `filename: "review.md"`.',
506
- ' - Use `{{MCP_PREFIX}}attach_context_file` only for linking existing files/URLs (for example, shared docs under `docs/`).',
507
- '5. Keep status within allowed statuses (`task`, `on-hold`, `in-progress`, `review`) unless user explicitly instructs otherwise.',
516
+ ' - Use `{{MCP_PREFIX}}link_task_context` only for linking existing files/URLs (for example, shared docs under `docs/`).',
517
+ '5. Keep status within allowed statuses (`task`, `on-hold`, `in-progress`, `review`, `done`) unless user explicitly instructs otherwise.',
508
518
  ' - If setting status to `task` or `on-hold`, add explicit comment justification using `{{MCP_PREFIX}}add_comment`.',
509
- '6. Never set `done` or `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
519
+ '6. Never set `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.',
510
520
  '',
511
521
  '## 3. Optional Report Artifact',
512
522
  '',
513
523
  '1. Use report files only when user opts in.',
514
- '2. Save to `.taskforce/task-data/{taskId}/attachments/review.md` and attach to task context when approved.',
515
- ' - If the document is not task-specific, store it under `docs/` and optionally link it with `{{MCP_PREFIX}}attach_context_file`.',
524
+ '2. Save to `task attachment "review.md"` and attach to task context when approved.',
525
+ ' - If the document is not task-specific, store it under `docs/` and optionally link it with `{{MCP_PREFIX}}link_task_context`.',
516
526
  '3. Stop.'
517
527
  ].join('\n')
518
528
  }
@@ -17,7 +17,9 @@ compat:
17
17
  requiredToolsOptional:
18
18
  - "{{MCP_PREFIX}}list_tasks"
19
19
  - "{{MCP_PREFIX}}search_tasks"
20
- - "{{MCP_PREFIX}}attach_context_file"
20
+ - "{{MCP_PREFIX}}get_task_attachments"
21
+ - "{{MCP_PREFIX}}read_task_attachment"
22
+ - "{{MCP_PREFIX}}link_task_context"
21
23
  - "{{MCP_PREFIX}}save_task_attachment"
22
24
  toolPolicy:
23
25
  requiredToolsPolicy:
@@ -34,12 +36,12 @@ toolPolicy:
34
36
  - on-hold
35
37
  - in-progress
36
38
  - review
37
- forbiddenStatuses:
38
39
  - done
40
+ forbiddenStatuses:
39
41
  - cancelled
40
42
  artifacts:
41
43
  collaborationBlueprint:
42
- path: .taskforce/task-data/{taskId}/attachments/collaboration-blueprint.md
44
+ path: task attachment "collaboration-blueprint.md"
43
45
  required: false
44
46
  savePolicy: ask-before-save
45
47
  contextPolicy:
@@ -47,6 +49,8 @@ contextPolicy:
47
49
  - mcp
48
50
  mcp:
49
51
  knownTaskIdTool: "{{MCP_PREFIX}}get_task"
52
+ taskAttachmentListTool: "{{MCP_PREFIX}}get_task_attachments"
53
+ taskAttachmentReadTool: "{{MCP_PREFIX}}read_task_attachment"
50
54
  unknownTaskIdTools:
51
55
  - "{{MCP_PREFIX}}list_tasks"
52
56
  - "{{MCP_PREFIX}}search_tasks"
@@ -65,6 +69,8 @@ content:
65
69
  > 1. **MCP-first load**:
66
70
  > - If task ID is known, call `{{MCP_PREFIX}}get_task`.
67
71
  > - If task ID is unknown, use `{{MCP_PREFIX}}list_tasks` / `{{MCP_PREFIX}}search_tasks` to identify it.
72
+ > - If task attachments may matter, call `{{MCP_PREFIX}}get_task_attachments` and then `{{MCP_PREFIX}}read_task_attachment` for the specific files you need.
73
+ > - Do not try to open task attachment HTTP paths directly when MCP attachment-read tools are available.
68
74
  > - If MCP is unavailable, stop and request user action.
69
75
  > 2. Print `prompts.startupChecklist`.
70
76
 
@@ -96,9 +102,9 @@ content:
96
102
  - `### Next Step`
97
103
  4. Ask whether to save as `{artifacts.collaborationBlueprint.path}`.
98
104
  5. If user confirms, persist task-specific content via `{{MCP_PREFIX}}save_task_attachment` using `filename: "collaboration-blueprint.md"`.
99
- - Use `{{MCP_PREFIX}}attach_context_file` only for linking existing files/URLs (for example, shared docs under `docs/`).
105
+ - Use `{{MCP_PREFIX}}link_task_context` only for linking existing files/URLs (for example, shared docs under `docs/`).
100
106
  6. Ask concise clarification questions only if required fields above are missing.
101
107
  7. If setting status to `task` or `on-hold`, add explicit comment justification using `{{MCP_PREFIX}}add_comment`.
102
- 8. Never set `done` or `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.
108
+ 8. Never set `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.
103
109
  9. Ask user whether to proceed to `/plan`.
104
110
  10. Stop.
@@ -23,7 +23,9 @@ compat:
23
23
  requiredToolsOptional:
24
24
  - "{{MCP_PREFIX}}list_tasks"
25
25
  - "{{MCP_PREFIX}}search_tasks"
26
- - "{{MCP_PREFIX}}attach_context_file"
26
+ - "{{MCP_PREFIX}}get_task_attachments"
27
+ - "{{MCP_PREFIX}}read_task_attachment"
28
+ - "{{MCP_PREFIX}}link_task_context"
27
29
  - "{{MCP_PREFIX}}save_task_attachment"
28
30
  toolPolicy:
29
31
  requiredToolsPolicy:
@@ -37,14 +39,16 @@ toolPolicy:
37
39
  - on-hold
38
40
  - in-progress
39
41
  - review
40
- forbiddenStatuses:
41
42
  - done
43
+ forbiddenStatuses:
42
44
  - cancelled
43
45
  contextPolicy:
44
46
  sourcePriority:
45
47
  - mcp
46
48
  mcp:
47
49
  knownTaskIdTool: "{{MCP_PREFIX}}get_task"
50
+ taskAttachmentListTool: "{{MCP_PREFIX}}get_task_attachments"
51
+ taskAttachmentReadTool: "{{MCP_PREFIX}}read_task_attachment"
48
52
  unknownTaskIdTools:
49
53
  - "{{MCP_PREFIX}}list_tasks"
50
54
  - "{{MCP_PREFIX}}search_tasks"
@@ -64,6 +68,8 @@ content:
64
68
  > 1. **MCP-first load**:
65
69
  > - If task ID is known, call `{{MCP_PREFIX}}get_task`.
66
70
  > - If task ID is unknown, use `{{MCP_PREFIX}}list_tasks` / `{{MCP_PREFIX}}search_tasks` to identify it.
71
+ > - If task attachments may matter, call `{{MCP_PREFIX}}get_task_attachments` and then `{{MCP_PREFIX}}read_task_attachment` for the specific files you need.
72
+ > - Do not try to open task attachment HTTP paths directly when MCP attachment-read tools are available.
67
73
  > - If MCP is unavailable, stop and request user action.
68
74
  > 2. Print `prompts.startupChecklist`.
69
75
 
@@ -18,8 +18,10 @@ compat:
18
18
  requiredToolsOptional:
19
19
  - "{{MCP_PREFIX}}list_tasks"
20
20
  - "{{MCP_PREFIX}}search_tasks"
21
+ - "{{MCP_PREFIX}}get_task_attachments"
22
+ - "{{MCP_PREFIX}}read_task_attachment"
21
23
  - "{{MCP_PREFIX}}get_config"
22
- - "{{MCP_PREFIX}}attach_context_file"
24
+ - "{{MCP_PREFIX}}link_task_context"
23
25
  - "{{MCP_PREFIX}}save_task_attachment"
24
26
  toolPolicy:
25
27
  requiredToolsPolicy:
@@ -37,12 +39,12 @@ toolPolicy:
37
39
  - on-hold
38
40
  - in-progress
39
41
  - review
40
- forbiddenStatuses:
41
42
  - done
43
+ forbiddenStatuses:
42
44
  - cancelled
43
45
  artifacts:
44
46
  evaluationReport:
45
- path: .taskforce/task-data/{taskId}/attachments/evaluation.md
47
+ path: task attachment "evaluation.md"
46
48
  required: false
47
49
  savePolicy: ask-before-save
48
50
  contextPolicy:
@@ -50,6 +52,8 @@ contextPolicy:
50
52
  - mcp
51
53
  mcp:
52
54
  knownTaskIdTool: "{{MCP_PREFIX}}get_task"
55
+ taskAttachmentListTool: "{{MCP_PREFIX}}get_task_attachments"
56
+ taskAttachmentReadTool: "{{MCP_PREFIX}}read_task_attachment"
53
57
  unknownTaskIdTools:
54
58
  - "{{MCP_PREFIX}}list_tasks"
55
59
  - "{{MCP_PREFIX}}search_tasks"
@@ -68,6 +72,8 @@ content:
68
72
  > 1. **MCP-first load**:
69
73
  > - If task ID is known, call `{{MCP_PREFIX}}get_task`.
70
74
  > - If task ID is unknown, use `{{MCP_PREFIX}}list_tasks` / `{{MCP_PREFIX}}search_tasks` to identify it.
75
+ > - If task attachments may matter, call `{{MCP_PREFIX}}get_task_attachments` and then `{{MCP_PREFIX}}read_task_attachment` for the specific files you need.
76
+ > - Do not try to open task attachment HTTP paths directly when MCP attachment-read tools are available.
71
77
  > - If MCP is unavailable, stop and request user action.
72
78
  > 2. Print `prompts.startupChecklist`.
73
79
 
@@ -100,12 +106,12 @@ content:
100
106
  - `### Next Step`
101
107
  4. Ask whether to save as `{artifacts.evaluationReport.path}`.
102
108
  5. If user confirms, persist task-specific content via `{{MCP_PREFIX}}save_task_attachment` using `filename: "evaluation.md"`.
103
- - Use `{{MCP_PREFIX}}attach_context_file` only for linking existing files/URLs (for example, shared docs under `docs/`).
104
- 6. Never set `done` or `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.
109
+ - Use `{{MCP_PREFIX}}link_task_context` only for linking existing files/URLs (for example, shared docs under `docs/`).
110
+ 6. Never set `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.
105
111
 
106
112
  ## 3. Optional Report Artifact
107
113
 
108
114
  1. Use report files only when user opts in.
109
- 2. Save to `.taskforce/task-data/{taskId}/attachments/evaluation.md` and attach to task context when approved.
110
- - If the document is not task-specific, store it under `docs/` and optionally link it with `{{MCP_PREFIX}}attach_context_file`.
115
+ 2. Save to `task attachment "evaluation.md"` and attach to task context when approved.
116
+ - If the document is not task-specific, store it under `docs/` and optionally link it with `{{MCP_PREFIX}}link_task_context`.
111
117
  3. Stop.
@@ -16,12 +16,17 @@ compat:
16
16
  - "{{MCP_PREFIX}}get_task"
17
17
  - "{{MCP_PREFIX}}update_task"
18
18
  - "{{MCP_PREFIX}}add_comment"
19
+ - "{{MCP_PREFIX}}finish_task"
19
20
  requiredToolsOptional:
21
+ - "{{MCP_PREFIX}}resolve_profile"
22
+ - "{{MCP_PREFIX}}list_assignees"
20
23
  - "{{MCP_PREFIX}}list_tasks"
21
24
  - "{{MCP_PREFIX}}search_tasks"
25
+ - "{{MCP_PREFIX}}get_task_attachments"
26
+ - "{{MCP_PREFIX}}read_task_attachment"
22
27
  - "{{MCP_PREFIX}}get_config"
23
28
  - "{{MCP_PREFIX}}create_task"
24
- - "{{MCP_PREFIX}}attach_context_file"
29
+ - "{{MCP_PREFIX}}link_task_context"
25
30
  - "{{MCP_PREFIX}}save_task_attachment"
26
31
  toolPolicy:
27
32
  requiredToolsPolicy:
@@ -31,6 +36,7 @@ toolPolicy:
31
36
  - "{{MCP_PREFIX}}get_task"
32
37
  - "{{MCP_PREFIX}}update_task"
33
38
  - "{{MCP_PREFIX}}add_comment"
39
+ - "{{MCP_PREFIX}}finish_task"
34
40
  forbiddenTools:
35
41
  - "{{MCP_PREFIX}}archive_task"
36
42
  statusTransitions:
@@ -39,8 +45,8 @@ toolPolicy:
39
45
  - on-hold
40
46
  - in-progress
41
47
  - review
42
- forbiddenStatuses:
43
48
  - done
49
+ forbiddenStatuses:
44
50
  - cancelled
45
51
  artifacts:
46
52
  walkthrough:
@@ -51,6 +57,8 @@ contextPolicy:
51
57
  - mcp
52
58
  mcp:
53
59
  knownTaskIdTool: "{{MCP_PREFIX}}get_task"
60
+ taskAttachmentListTool: "{{MCP_PREFIX}}get_task_attachments"
61
+ taskAttachmentReadTool: "{{MCP_PREFIX}}read_task_attachment"
54
62
  unknownTaskIdTools:
55
63
  - "{{MCP_PREFIX}}list_tasks"
56
64
  - "{{MCP_PREFIX}}search_tasks"
@@ -61,12 +69,13 @@ prompts:
61
69
  2. [ ] **Mode**: [execute]
62
70
  3. [ ] **Specialists Loaded**: [List names or 'None']
63
71
  handoffChecklist: |-
64
- - [ ] Status set to `review` unless user explicitly requested another allowed status
72
+ - [ ] Final status set with `{{MCP_PREFIX}}finish_task`
73
+ - [ ] Used `done` when no explicit human validation was requested, or `review` when human validation/approval was needed
65
74
  - [ ] Summary comment added with `{{MCP_PREFIX}}add_comment`
66
75
  - [ ] `walkthrough.md` updated
67
76
  - [ ] Parent/child links changed only when explicitly requested
68
77
  - [ ] Did NOT call `{{MCP_PREFIX}}archive_task`
69
- - [ ] Did NOT set `done` or `cancelled` unless explicitly instructed
78
+ - [ ] Did NOT set `cancelled` unless explicitly instructed
70
79
  content:
71
80
  default: |-
72
81
  # Taskforce Execute Workflow (v2)
@@ -75,6 +84,8 @@ content:
75
84
  > 1. **MCP-first load**:
76
85
  > - If task ID is known, call `{{MCP_PREFIX}}get_task`.
77
86
  > - If task ID is unknown, use `{{MCP_PREFIX}}list_tasks` / `{{MCP_PREFIX}}search_tasks` to identify it.
87
+ > - If task attachments may matter, call `{{MCP_PREFIX}}get_task_attachments` and then `{{MCP_PREFIX}}read_task_attachment` for the specific files you need.
88
+ > - Do not try to open task attachment HTTP paths directly when MCP attachment-read tools are available.
78
89
  > - If MCP is unavailable, stop and request user action.
79
90
  > 2. Print `prompts.startupChecklist`.
80
91
 
@@ -97,25 +108,28 @@ content:
97
108
  - If task complexity is `3` to `5`, create or refresh `implementation_plan.md` before major code edits.
98
109
  - If complexity is below `3`, planning is optional.
99
110
  2. **Task management mode gate (required before task mutations)**:
100
- - Choose exactly one mode and state it explicitly: `checklist_mode` or `decompose_mode`.
101
- - Default to `checklist_mode` for linear/short execution.
102
- - Use `decompose_mode` only when at least one is true:
111
+ - Choose a management approach and state it explicitly: single-task execution, checklist-driven execution, or planning-entity decomposition.
112
+ - Default to checklist-driven execution for linear/short work.
113
+ - Use planning-entity decomposition only when at least one is true:
103
114
  - multi-system or multi-owner work
104
115
  - meaningful parallelization
105
116
  - expected duration > 1 day
106
117
  - explicit dependency/risk tracking is needed
107
- - user explicitly asks for subtasks
108
- 3. **Owner strategy gate (required before task creation/update)**:
109
- - Set ownership explicitly with `owner` (alias of `assignee`): `user`, `agent`, or `unassigned`.
110
- - If user console/credential action is required, set `owner=user`.
111
- - If AI can execute independently, set `owner=agent`.
112
- - If unclear, set `owner=unassigned` and add a clarification note.
118
+ - user explicitly asks for multiple tracked units of work
119
+ 3. **Identity + owner strategy gate (required before task creation/update)**:
120
+ - Call `{{MCP_PREFIX}}resolve_profile` before creating tasks, assigning tasks, or adding agent-authored comments.
121
+ - Stateless client pattern: call `{{MCP_PREFIX}}resolve_profile`, save the returned `profileToken`, and include `profileToken` on later mutating calls if the client does not preserve session state.
122
+ - Use the returned profile ID directly when assigning work to yourself.
123
+ - Call `{{MCP_PREFIX}}list_assignees` before assigning tasks to someone else, then use a concrete workspace member ID or AI profile ID.
124
+ - Never use generic owner values like `agent` or `user`.
125
+ - If unclear who should own the work, set `owner=unassigned` and add a clarification note.
113
126
  4. **Preflight confirmation gate (required before creating multiple tasks)**:
114
- - Confirm mode: `checklist_mode` vs `decompose_mode`.
115
- - Confirm owner default: `user` / `agent` / `mixed`.
127
+ - Confirm management approach: single task, checklist, or planning decomposition.
128
+ - Confirm owner default: a concrete assignee ID, `unassigned`, or a mixed plan with explicit IDs.
116
129
  - Confirm whether assignment should be set immediately.
117
130
  5. **Config gate**:
118
131
  - Before setting category/type/priority/approach/status/complexity, call `{{MCP_PREFIX}}get_config`.
132
+ - Treat `{{MCP_PREFIX}}get_config` as the source of truth for taxonomy and enum values; do not rely on remembered type/category names.
119
133
  6. **Set active state**:
120
134
  - Set status to `in-progress` with `{{MCP_PREFIX}}update_task`.
121
135
 
@@ -123,10 +137,11 @@ content:
123
137
  1. Implement code changes.
124
138
  2. Run validation steps (automated tests + manual checks as needed).
125
139
  3. If user requests relationship work:
126
- - Link/unlink/re-parent using `{{MCP_PREFIX}}update_task` (`parentTaskId`).
127
- - Create child tasks using `{{MCP_PREFIX}}create_task` with `parentTaskId` set.
128
- - Every created child task must include explicit `owner`/`assignee`.
129
- - Re-parent only after explicit user confirmation.
140
+ - Link/unlink tasks to workstreams using `{{MCP_PREFIX}}set_task_workstream` or `{{MCP_PREFIX}}clear_task_workstream`.
141
+ - Link/unlink workstreams to initiatives using `{{MCP_PREFIX}}set_workstream_initiative` or `{{MCP_PREFIX}}clear_workstream_initiative`.
142
+ - Use `{{MCP_PREFIX}}replace_task_checklist` when the work should stay inside a single task with structured checklist tracking.
143
+ - Every newly created task must include explicit `owner`/`assignee` using a concrete assignee ID or `unassigned`.
144
+ - Change planning relationships only after explicit user confirmation.
130
145
  4. If blocked, switch to Collaborate mode and capture blocker context.
131
146
 
132
147
  ### Phase C: Handover
@@ -135,8 +150,10 @@ content:
135
150
  - Validation evidence
136
151
  - Remaining risks
137
152
  2. Add summary comment with `{{MCP_PREFIX}}add_comment`.
138
- 3. Set status to `review` via `{{MCP_PREFIX}}update_task` unless user explicitly requests another allowed status (`task`, `on-hold`, `in-progress`, `review`).
139
- - If setting status to `task` or `on-hold`, add explicit comment justification using `{{MCP_PREFIX}}add_comment`.
140
- 4. Never set `done` or `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.
141
- 5. Do not auto-set parent tasks to `done` or `cancelled` due to child changes; only do so if user explicitly instructs.
153
+ 3. Use `{{MCP_PREFIX}}finish_task` for final handoff.
154
+ - Use `outcome: "done"` when the work is complete and no explicit human validation is requested.
155
+ - Use `outcome: "review"` when human validation or approval is still needed.
156
+ - When uncertain, prefer `review`.
157
+ 4. Never set `cancelled`, and never call `{{MCP_PREFIX}}archive_task`, unless explicitly instructed by the user.
158
+ 5. Do not change sibling or related task statuses unless the user explicitly instructs it.
142
159
  6. Print `prompts.handoffChecklist` and stop.