@taskforcehq/taskforce 0.3.170 → 0.3.301
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.
- package/README.md +71 -21
- package/dist/Taskforce.module.css +3394 -5981
- package/dist/TaskforceCore.CategoryFallback.test.js +5 -2
- package/dist/TaskforceCore.filter-persistence.test.js +402 -0
- package/dist/TaskforceCore.js +388 -71
- package/dist/TaskforceCore.routing.test.js +311 -0
- package/dist/TaskforceCore.test.js +3344 -615
- package/dist/TaskforceWidget.js +3 -2
- package/dist/__tests__/localizationCatalogs.test.js +48 -31
- package/dist/__tests__/workflowSimulation.test.js +2 -2
- package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.d.ts +60 -0
- package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.js +324 -0
- package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.test.js +278 -0
- package/dist/annotatedAttachments/payload.d.ts +2 -0
- package/dist/annotatedAttachments/payload.js +54 -0
- package/dist/annotatedAttachments/payload.test.js +67 -0
- package/dist/annotatedAttachments/service.d.ts +49 -0
- package/dist/annotatedAttachments/service.js +121 -0
- package/dist/annotatedAttachments/types.d.ts +86 -0
- package/dist/cli.js +74 -25
- package/dist/compat/deploymentCompat.d.ts +12 -0
- package/dist/compat/deploymentCompat.js +43 -0
- package/dist/compat/workspaceSyncCompat.d.ts +6 -0
- package/dist/compat/workspaceSyncCompat.js +79 -0
- package/dist/compat/workspaceSyncCompat.test.js +87 -0
- package/dist/components/features/AgentsModule.d.ts +5 -0
- package/dist/components/features/AgentsModule.js +131 -0
- package/dist/components/features/AgentsModule.test.js +102 -0
- package/dist/components/features/AnnotatedAttachmentWorkspace.d.ts +24 -0
- package/dist/components/features/AnnotatedAttachmentWorkspace.js +1942 -0
- package/dist/components/features/AnnotatedAttachmentWorkspace.test.js +2831 -0
- package/dist/components/features/DocumentGenerateModal.js +8 -16
- package/dist/components/features/DocumentIndex.d.ts +3 -4
- package/dist/components/features/DocumentIndex.js +22 -10
- package/dist/components/features/DocumentViewer.d.ts +6 -2
- package/dist/components/features/DocumentViewer.js +1000 -18
- package/dist/components/features/DocumentWorkspace.d.ts +40 -2
- package/dist/components/features/DocumentWorkspace.js +96 -16
- package/dist/components/features/DocumentWorkspace.test.js +1202 -0
- package/dist/components/features/InitiativesModule.d.ts +22 -0
- package/dist/components/features/InitiativesModule.js +33 -0
- package/dist/components/features/TaskSettings.d.ts +41 -32
- package/dist/components/features/TaskSettings.js +798 -313
- package/dist/components/features/TaskSettings.test.js +1221 -47
- package/dist/components/features/WorkflowsModule.d.ts +27 -0
- package/dist/components/features/WorkflowsModule.js +21 -0
- package/dist/components/features/documentWorkspaceFilters.d.ts +10 -0
- package/dist/components/features/documentWorkspaceFilters.js +11 -0
- package/dist/components/features/settings/CategoryManager.d.ts +2 -0
- package/dist/components/features/settings/CategoryManager.js +15 -8
- package/dist/components/features/settings/PriorityManager.d.ts +18 -0
- package/dist/components/features/settings/PriorityManager.js +51 -0
- package/dist/components/features/settings/TaxonomyEditor.d.ts +2 -1
- package/dist/components/features/settings/TaxonomyEditor.js +41 -18
- package/dist/components/features/settings/TaxonomyLibraryManager.d.ts +26 -0
- package/dist/components/features/settings/TaxonomyLibraryManager.js +301 -0
- package/dist/components/features/settings/TaxonomyLibraryManager.test.js +141 -0
- package/dist/components/features/settings/TaxonomyManager.d.ts +35 -12
- package/dist/components/features/settings/TaxonomyManager.js +59 -27
- package/dist/components/features/settings/TypeManager.d.ts +11 -0
- package/dist/components/features/settings/TypeManager.js +48 -11
- package/dist/components/features/settings/{WorkflowEditorPrototype.d.ts → WorkflowEditor.d.ts} +2 -2
- package/dist/components/features/settings/{WorkflowEditorPrototype.js → WorkflowEditor.js} +3 -3
- package/dist/components/task/TaskActionHeader.d.ts +12 -2
- package/dist/components/task/TaskActionHeader.js +64 -8
- package/dist/components/task/TaskActionHeader.test.js +73 -0
- package/dist/components/task/TaskCard.d.ts +14 -16
- package/dist/components/task/TaskCard.js +144 -174
- package/dist/components/task/TaskCard.test.js +416 -64
- package/dist/components/task/TaskContextUpload.d.ts +6 -5
- package/dist/components/task/TaskContextUpload.js +199 -64
- package/dist/components/task/TaskContextUpload.test.js +331 -14
- package/dist/components/task/TaskForm.d.ts +23 -29
- package/dist/components/task/TaskForm.js +348 -169
- package/dist/components/task/TaskForm.test.js +419 -23
- package/dist/components/task/TaskKanban.d.ts +20 -21
- package/dist/components/task/TaskKanban.js +176 -316
- package/dist/components/task/TaskKanban.planning-drop.test.js +93 -0
- package/dist/components/task/TaskList.d.ts +22 -11
- package/dist/components/task/TaskList.js +98 -12
- package/dist/components/task/TaskList.test.js +206 -7
- package/dist/components/task/TaskReferenceBadge.d.ts +12 -0
- package/dist/components/task/TaskReferenceBadge.js +5 -0
- package/dist/components/task/TaskStatusActions.d.ts +12 -0
- package/dist/components/task/TaskStatusActions.js +18 -0
- package/dist/components/task/TaskStatusActions.test.js +45 -0
- package/dist/components/ui/ImageReferenceBadge.d.ts +12 -0
- package/dist/components/ui/ImageReferenceBadge.js +5 -0
- package/dist/components/ui/LevelSelector.d.ts +2 -1
- package/dist/components/ui/LevelSelector.js +2 -2
- package/dist/components/ui/Markdown.d.ts +1 -2
- package/dist/components/ui/Markdown.js +2 -13
- package/dist/components/ui/Modal.d.ts +3 -2
- package/dist/components/ui/Modal.js +4 -3
- package/dist/components/ui/MultiSelectFilter.d.ts +3 -1
- package/dist/components/ui/MultiSelectFilter.js +2 -2
- package/dist/components/ui/ReferenceBadgeButton.d.ts +13 -0
- package/dist/components/ui/ReferenceBadgeButton.js +6 -0
- package/dist/components/ui/TaxonomyDropdown.d.ts +7 -1
- package/dist/components/ui/TaxonomyDropdown.js +58 -23
- package/dist/components/ui/TopNoticeLayer.d.ts +7 -0
- package/dist/components/ui/TopNoticeLayer.js +14 -0
- package/dist/components/ui/TopNoticeLayer.test.js +25 -0
- package/dist/components/views/AppShellHeader.d.ts +13 -0
- package/dist/components/views/AppShellHeader.js +19 -0
- package/dist/components/views/AppShellHeader.test.js +21 -0
- package/dist/components/views/PlanComparisonPage.d.ts +73 -0
- package/dist/components/views/PlanComparisonPage.js +196 -0
- package/dist/components/views/PlanComparisonPage.test.js +251 -0
- package/dist/components/views/PlansPage.d.ts +14 -0
- package/dist/components/views/PlansPage.js +355 -0
- package/dist/components/views/StandaloneLayout.d.ts +2 -2
- package/dist/components/views/StandaloneLayout.js +2227 -1188
- package/dist/components/views/WidgetView.d.ts +2 -2
- package/dist/components/views/WidgetView.js +149 -43
- package/dist/components/views/chrome/WorkspaceChromeSections.d.ts +57 -0
- package/dist/components/views/chrome/WorkspaceChromeSections.js +38 -0
- package/dist/components/views/chrome/WorkspaceChromeSections.test.js +54 -0
- package/dist/components/views/chrome/workspaceChrome.d.ts +31 -0
- package/dist/components/views/chrome/workspaceChrome.js +108 -0
- package/dist/components/views/chrome/workspaceChrome.test.js +52 -0
- package/dist/components/views/panels/DocumentFilterToolbar.d.ts +10 -0
- package/dist/components/views/panels/DocumentFilterToolbar.js +7 -0
- package/dist/components/views/panels/DocumentFilterToolbar.test.js +19 -0
- package/dist/components/views/panels/FilterToolbar.d.ts +68 -0
- package/dist/components/views/panels/FilterToolbar.js +21 -0
- package/dist/components/views/panels/FilterToolbar.test.d.ts +1 -0
- package/dist/components/views/panels/FilterToolbar.test.js +45 -0
- package/dist/components/views/panels/FilterToolbarControls.d.ts +47 -0
- package/dist/components/views/panels/FilterToolbarControls.js +61 -0
- package/dist/components/views/panels/PlanningDrawer.d.ts +115 -0
- package/dist/components/views/panels/PlanningDrawer.js +220 -0
- package/dist/components/views/panels/ScheduleSidebar.d.ts +52 -0
- package/dist/components/views/panels/ScheduleSidebar.js +127 -0
- package/dist/components/views/panels/scheduleUtils.d.ts +14 -0
- package/dist/components/views/panels/scheduleUtils.js +79 -0
- package/dist/components/views/teamManagementAccess.d.ts +6 -0
- package/dist/components/views/teamManagementAccess.js +18 -0
- package/dist/components/views/teamManagementAccess.test.d.ts +1 -0
- package/dist/components/views/teamManagementAccess.test.js +44 -0
- package/dist/config/clientDeployment.d.ts +2 -0
- package/dist/config/clientDeployment.js +13 -0
- package/dist/config/cloudEnvironment.d.ts +15 -0
- package/dist/config/cloudEnvironment.js +60 -0
- package/dist/config/deployment.d.ts +20 -0
- package/dist/config/deployment.js +67 -0
- package/dist/config/deployment.test.d.ts +1 -0
- package/dist/config/deployment.test.js +88 -0
- package/dist/config/envSchema.js +36 -8
- package/dist/config/envSchema.test.js +28 -0
- package/dist/core/AiProfileService.d.ts +66 -0
- package/dist/core/AiProfileService.js +320 -0
- package/dist/core/AiProfileService.test.d.ts +1 -0
- package/dist/core/AiProfileService.test.js +164 -0
- package/dist/core/AiProfiles.test.d.ts +1 -0
- package/dist/core/AiProfiles.test.js +449 -0
- package/dist/core/AttachmentLinkService.d.ts +15 -0
- package/dist/core/AttachmentLinkService.js +157 -0
- package/dist/core/AuthTokenService.d.ts +44 -0
- package/dist/core/AuthTokenService.js +207 -0
- package/dist/core/CreatedBy.test.js +134 -6
- package/dist/core/DeletedTaskLifecycleService.d.ts +33 -0
- package/dist/core/DeletedTaskLifecycleService.js +158 -0
- package/dist/core/DeletedTaskTrash.test.d.ts +1 -0
- package/dist/core/DeletedTaskTrash.test.js +104 -0
- package/dist/core/EntitlementsPolicy.test.js +78 -5
- package/dist/core/GlobalSettingsService.d.ts +16 -0
- package/dist/core/GlobalSettingsService.js +370 -0
- package/dist/core/JsonBackupRuntime.test.d.ts +1 -0
- package/dist/core/JsonBackupRuntime.test.js +155 -0
- package/dist/core/McpTokenService.d.ts +118 -0
- package/dist/core/McpTokenService.js +921 -0
- package/dist/core/PlanEntitlementService.d.ts +201 -0
- package/dist/core/PlanEntitlementService.js +1442 -0
- package/dist/core/PlanVersionPolicy.test.d.ts +1 -0
- package/dist/core/PlanVersionPolicy.test.js +178 -0
- package/dist/core/PlanningEntities.test.d.ts +1 -0
- package/dist/core/PlanningEntities.test.js +95 -0
- package/dist/core/ScheduleFields.test.js +15 -19
- package/dist/core/SignupMonetizationSettings.test.d.ts +1 -0
- package/dist/core/SignupMonetizationSettings.test.js +159 -0
- package/dist/core/Stats.test.d.ts +1 -0
- package/dist/core/Stats.test.js +36 -0
- package/dist/core/SyncReconciliationService.d.ts +93 -0
- package/dist/core/SyncReconciliationService.js +406 -0
- package/dist/core/SystemAdmin.test.js +578 -13
- package/dist/core/TaskActivityService.d.ts +21 -0
- package/dist/core/TaskActivityService.js +130 -0
- package/dist/core/TaskAttachmentsCanonical.test.d.ts +1 -0
- package/dist/core/TaskAttachmentsCanonical.test.js +306 -0
- package/dist/core/TaskAuditTimeline.test.d.ts +1 -0
- package/dist/core/TaskAuditTimeline.test.js +132 -0
- package/dist/core/TaskTaxonomyValidation.test.js +338 -15
- package/dist/core/Taskforce.d.ts +930 -183
- package/dist/core/Taskforce.ids.test.js +252 -0
- package/dist/core/Taskforce.js +3848 -2532
- package/dist/core/Taskforce.mcpAuth.test.d.ts +1 -0
- package/dist/core/Taskforce.mcpAuth.test.js +343 -0
- package/dist/core/Taskforce.realtimeMutation.test.js +57 -2
- package/dist/core/TaxonomySettingsService.d.ts +18 -0
- package/dist/core/TaxonomySettingsService.js +162 -0
- package/dist/core/WorkspaceDelete.test.js +32 -13
- package/dist/core/WorkspaceLifecycleService.d.ts +11 -0
- package/dist/core/WorkspaceLifecycleService.js +88 -0
- package/dist/core/WorkspacePermissions.test.js +95 -0
- package/dist/core/WorkspacePlanMode.test.js +114 -1
- package/dist/core/WorkspacePreferenceService.d.ts +41 -0
- package/dist/core/WorkspacePreferenceService.js +246 -0
- package/dist/core/WorkspaceSyncSettings.test.d.ts +1 -0
- package/dist/core/WorkspaceSyncSettings.test.js +65 -0
- package/dist/core/__tests__/TaskAttachmentsCanonical.test.d.ts +1 -0
- package/dist/core/__tests__/TaskAttachmentsCanonical.test.js +212 -0
- package/dist/core/shared.d.ts +36 -0
- package/dist/core/shared.js +128 -0
- package/dist/core/types.d.ts +614 -0
- package/dist/core/types.js +27 -0
- package/dist/documentReviews/DocumentReviewCommentStore.d.ts +56 -0
- package/dist/documentReviews/DocumentReviewCommentStore.js +230 -0
- package/dist/documentReviews/DocumentReviewSessionStore.d.ts +52 -0
- package/dist/documentReviews/DocumentReviewSessionStore.js +193 -0
- package/dist/documentReviews/DocumentReviewSessionStore.test.d.ts +1 -0
- package/dist/documentReviews/DocumentReviewSessionStore.test.js +127 -0
- package/dist/documentReviews/service.d.ts +68 -0
- package/dist/documentReviews/service.js +210 -0
- package/dist/documentReviews/types.d.ts +58 -0
- package/dist/documentReviews/types.js +1 -0
- package/dist/hooks/auth/useAuthGuardPolicy.d.ts +2 -0
- package/dist/hooks/auth/useAuthGuardPolicy.js +1 -0
- package/dist/hooks/tasks/useCurrentTaskRelations.d.ts +15 -0
- package/dist/hooks/tasks/useCurrentTaskRelations.js +37 -0
- package/dist/hooks/tasks/useTaskActions.d.ts +3 -0
- package/dist/hooks/tasks/useTaskActions.js +2 -0
- package/dist/hooks/tasks/useTaskEditorNavigation.d.ts +65 -0
- package/dist/hooks/tasks/useTaskEditorNavigation.js +235 -0
- package/dist/hooks/tasks/useTaskFilters.d.ts +2 -0
- package/dist/hooks/tasks/useTaskFilters.js +2 -0
- package/dist/hooks/tasks/useTaskFormActions.d.ts +58 -0
- package/dist/hooks/tasks/useTaskFormActions.js +365 -0
- package/dist/hooks/tasks/useTaskRelationships.d.ts +16 -0
- package/dist/hooks/tasks/useTaskRelationships.js +64 -0
- package/dist/hooks/ui/useResourceExport.d.ts +19 -0
- package/dist/hooks/ui/useResourceExport.js +84 -0
- package/dist/hooks/ui/useSettingsModel.d.ts +203 -0
- package/dist/hooks/ui/useSettingsModel.js +125 -0
- package/dist/hooks/ui/useSettingsPersistence.d.ts +36 -0
- package/dist/hooks/ui/useSettingsPersistence.js +254 -0
- package/dist/hooks/ui/useSettingsTaxonomyManagement.d.ts +119 -0
- package/dist/hooks/ui/useSettingsTaxonomyManagement.js +536 -0
- package/dist/hooks/ui/useUiNotice.d.ts +1 -0
- package/dist/hooks/ui/useUiNotice.js +1 -0
- package/dist/hooks/ui/useWorkflowTemplates.d.ts +37 -0
- package/dist/hooks/ui/useWorkflowTemplates.js +111 -0
- package/dist/hooks/ui/useZenMode.d.ts +5 -0
- package/dist/hooks/ui/useZenMode.js +32 -0
- package/dist/hooks/useFilterSort.d.ts +60 -0
- package/dist/hooks/useFilterSort.js +362 -0
- package/dist/hooks/useFilterSort.test.d.ts +1 -0
- package/dist/hooks/useFilterSort.test.js +333 -0
- package/dist/hooks/useRealtimeSync.d.ts +1 -0
- package/dist/hooks/useRealtimeSync.js +24 -9
- package/dist/hooks/useRealtimeSync.test.js +28 -1
- package/dist/hooks/useSyncOrchestrator.aiProfiles.test.d.ts +1 -0
- package/dist/hooks/useSyncOrchestrator.aiProfiles.test.js +34 -0
- package/dist/hooks/useSyncOrchestrator.d.ts +65 -103
- package/dist/hooks/useSyncOrchestrator.js +1538 -670
- package/dist/hooks/useSyncOrchestrator.retry-closure.test.js +700 -174
- package/dist/hooks/useTaskData.d.ts +35 -0
- package/dist/hooks/useTaskData.js +243 -0
- package/dist/hooks/useTaskData.test.d.ts +1 -0
- package/dist/hooks/useTaskData.test.js +180 -0
- package/dist/hooks/useTaskMutations.d.ts +46 -0
- package/dist/hooks/useTaskMutations.js +472 -0
- package/dist/hooks/useTaskMutations.test.d.ts +1 -0
- package/dist/hooks/useTaskMutations.test.js +80 -0
- package/dist/hooks/useTaskforce.contract.test.d.ts +1 -0
- package/dist/hooks/useTaskforce.contract.test.js +7 -0
- package/dist/hooks/useTaskforce.d.ts +260 -295
- package/dist/hooks/useTaskforce.js +1954 -2623
- package/dist/hooks/useTaskforce.priority-filters.test.js +6 -11
- package/dist/hooks/useTaskforce.sync-behavior.test.d.ts +1 -0
- package/dist/hooks/useTaskforce.sync-behavior.test.js +1120 -0
- package/dist/hooks/useUiNotice.d.ts +16 -0
- package/dist/hooks/useUiNotice.js +49 -0
- package/dist/hooks/useWorkspaceSyncController.d.ts +23 -46
- package/dist/hooks/useWorkspaceSyncController.js +280 -461
- package/dist/hooks/useWorkspaceSyncController.test.js +106 -199
- package/dist/hooks/workspace/useTaskforceApiRouting.d.ts +8 -0
- package/dist/hooks/workspace/useTaskforceApiRouting.js +91 -0
- package/dist/hooks/workspace/useTaskforceApiRouting.test.d.ts +1 -0
- package/dist/hooks/workspace/useTaskforceApiRouting.test.js +60 -0
- package/dist/hooks/workspace/useWorkspaceSyncController.d.ts +1 -0
- package/dist/hooks/workspace/useWorkspaceSyncController.js +1 -0
- package/dist/hooks/workspace/workspaceLocalState.d.ts +30 -0
- package/dist/hooks/workspace/workspaceLocalState.js +101 -0
- package/dist/localization/locales/en-US.d.ts +1 -8
- package/dist/localization/locales/en-US.js +4 -11
- package/dist/localization/locales/es-419.js +2 -9
- package/dist/localization/locales/pt-BR.js +2 -9
- package/dist/localization/localizationCatalogs.test.d.ts +1 -0
- package/dist/localization/localizationCatalogs.test.js +37 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +9 -15
- package/dist/mcp/clientIntegrations.d.ts +33 -0
- package/dist/mcp/clientIntegrations.js +199 -0
- package/dist/mcp/clientIntegrations.test.d.ts +1 -0
- package/dist/mcp/clientIntegrations.test.js +110 -0
- package/dist/mcp/index.d.ts +2 -0
- package/dist/mcp/index.js +2 -0
- package/dist/mcp/optionResolution.test.js +6 -2
- package/dist/mcp/runtime.d.ts +120 -0
- package/dist/mcp/runtime.js +5668 -0
- package/dist/mcp/runtime.test.d.ts +1 -0
- package/dist/mcp/runtime.test.js +3299 -0
- package/dist/mcp/server.js +2 -1793
- package/dist/mcp/structuredCommentValidation.test.d.ts +1 -0
- package/dist/{__tests__ → mcp}/structuredCommentValidation.test.js +1 -1
- package/dist/mcp/structuredDocValidation.js +1 -2
- package/dist/mcp/structuredDocValidation.test.d.ts +1 -0
- package/dist/{__tests__ → mcp}/structuredDocValidation.test.js +9 -4
- package/dist/mcp/toolRegistry.d.ts +570 -0
- package/dist/mcp/toolRegistry.js +90 -0
- package/dist/mcp/toolRegistry.test.d.ts +1 -0
- package/dist/mcp/toolRegistry.test.js +30 -0
- package/dist/migrations/billingSchemaParity.test.js +111 -0
- package/dist/migrations/taskSchemaMigrations.d.ts +5 -0
- package/dist/migrations/taskSchemaMigrations.js +681 -39
- package/dist/migrations/taskSchemaMigrations.test.d.ts +1 -0
- package/dist/migrations/taskSchemaMigrations.test.js +210 -0
- package/dist/plugins/vite.js +13 -7
- package/dist/public/apple-touch-icon.png +0 -0
- package/dist/public/archive/phoenix/apple-touch-icon.png +0 -0
- package/dist/public/archive/phoenix/favicon.ico +0 -0
- package/dist/public/archive/phoenix/site.webmanifest +1 -0
- package/dist/public/favicon-96x96.png +0 -0
- package/dist/public/favicon.ico +0 -0
- package/dist/public/favicon.svg +17 -0
- package/dist/public/site.webmanifest +21 -1
- package/dist/public/web-app-manifest-192x192.png +0 -0
- package/dist/public/web-app-manifest-512x512.png +0 -0
- package/dist/releaseVersion.test.d.ts +1 -0
- package/dist/{__tests__/releaseVersion.test.js → releaseVersion.test.js} +1 -1
- package/dist/resources/templates/WORKFLOW_V2_POLICY.md +1 -1
- package/dist/resources/templates/workflow-sources/workflowDocs.mjs +62 -52
- package/dist/resources/templates/workflows/collaborate.yaml +11 -5
- package/dist/resources/templates/workflows/do.yaml +8 -2
- package/dist/resources/templates/workflows/evaluate.yaml +13 -7
- package/dist/resources/templates/workflows/execute.yaml +40 -23
- package/dist/resources/templates/workflows/plan.yaml +15 -8
- package/dist/resources/templates/workflows/review.yaml +14 -8
- package/dist/runtime/appGateDefinitions.d.ts +32 -0
- package/dist/runtime/appGateDefinitions.js +32 -0
- package/dist/runtime/appGates.d.ts +29 -0
- package/dist/runtime/appGates.js +53 -0
- package/dist/runtime/appGates.test.d.ts +1 -0
- package/dist/runtime/appGates.test.js +42 -0
- package/dist/runtime/migrationFlags.d.ts +1 -0
- package/dist/runtime/migrationFlags.js +1 -0
- package/dist/server/annotatedAttachmentsRoutes.test.d.ts +1 -0
- package/dist/server/annotatedAttachmentsRoutes.test.js +473 -0
- package/dist/server/auth.js +14 -2
- package/dist/server/auth.test.js +21 -1
- package/dist/server/cors.js +11 -5
- package/dist/server/cors.test.js +6 -0
- package/dist/server/documentReviewRoutes.test.d.ts +1 -0
- package/dist/server/documentReviewRoutes.test.js +157 -0
- package/dist/server/index.cookieProxy.test.js +46 -1
- package/dist/server/index.d.ts +20 -0
- package/dist/server/index.js +168 -41
- package/dist/server/index.rateLimit.test.js +6 -0
- package/dist/server/index.test.js +133 -2
- package/dist/server/mockStripe.d.ts +72 -0
- package/dist/server/mockStripe.js +357 -0
- package/dist/server/realtimeSyncWs.js +4 -0
- package/dist/server/routes/admin.d.ts +114 -0
- package/dist/server/routes/admin.js +2226 -0
- package/dist/server/routes/annotatedAttachments.d.ts +24 -0
- package/dist/server/routes/annotatedAttachments.js +235 -0
- package/dist/server/routes/auth.d.ts +61 -0
- package/dist/server/routes/auth.js +1296 -0
- package/dist/server/{routes.billing.d.ts → routes/billing.d.ts} +3 -2
- package/dist/server/routes/billing.js +2001 -0
- package/dist/server/routes/billing.test.d.ts +1 -0
- package/dist/server/routes/billing.test.js +1631 -0
- package/dist/server/routes/documentReviews.d.ts +11 -0
- package/dist/server/routes/documentReviews.js +191 -0
- package/dist/server/routes/documents.d.ts +118 -0
- package/dist/server/routes/documents.js +1113 -0
- package/dist/server/routes/resources.d.ts +25 -0
- package/dist/server/routes/resources.js +225 -0
- package/dist/server/routes/shared.d.ts +35 -0
- package/dist/server/routes/shared.js +305 -0
- package/dist/server/routes/shared.test.d.ts +1 -0
- package/dist/server/routes/shared.test.js +32 -0
- package/dist/server/{routes.sync.d.ts → routes/sync.d.ts} +5 -5
- package/dist/server/routes/sync.integration.test.d.ts +1 -0
- package/dist/server/routes/sync.integration.test.js +2003 -0
- package/dist/server/routes/sync.js +3143 -0
- package/dist/server/routes/tasks.d.ts +72 -0
- package/dist/server/routes/tasks.js +1252 -0
- package/dist/server/routes/workspaces.d.ts +32 -0
- package/dist/server/routes/workspaces.js +307 -0
- package/dist/server/routes.d.ts +8 -9
- package/dist/server/routes.js +968 -4092
- package/dist/server/routes.test.js +9043 -2415
- package/dist/server/runtimeMode.d.ts +1 -1
- package/dist/server/runtimeMode.js +3 -18
- package/dist/server/runtimeMode.test.js +3 -3
- package/dist/server/securityHeaders.d.ts +1 -1
- package/dist/server/securityHeaders.js +65 -6
- package/dist/server/securityHeaders.test.js +40 -2
- package/dist/services/templateEngine.test.d.ts +1 -0
- package/dist/{__tests__ → services}/templateEngine.test.js +1 -1
- package/dist/services/templates.test.d.ts +1 -0
- package/dist/{__tests__ → services}/templates.test.js +1 -1
- package/dist/services/workflowDocumentFixtures.test.d.ts +1 -0
- package/dist/{__tests__ → services}/workflowDocumentFixtures.test.js +4 -4
- package/dist/services/workflowExportMatrix.test.d.ts +1 -0
- package/dist/{__tests__ → services}/workflowExportMatrix.test.js +1 -1
- package/dist/services/workflowExportSnapshots.test.d.ts +1 -0
- package/dist/services/workflowGeneration.test.d.ts +1 -0
- package/dist/services/workflowSimulation.test.d.ts +1 -0
- package/dist/services/workflowSimulation.test.js +113 -0
- package/dist/services/workflowV2Policy.test.d.ts +1 -0
- package/dist/{__tests__ → services}/workflowV2Policy.test.js +2 -2
- package/dist/shared/aiProfileSurfaceType.d.ts +9 -0
- package/dist/shared/aiProfileSurfaceType.js +49 -0
- package/dist/shared/customTaxonomyLibrary.d.ts +11 -0
- package/dist/shared/customTaxonomyLibrary.js +276 -0
- package/dist/shared/customTaxonomyLibrary.test.d.ts +1 -0
- package/dist/shared/customTaxonomyLibrary.test.js +20 -0
- package/dist/shared/taxonomyCatalog.d.ts +19 -0
- package/dist/shared/taxonomyCatalog.js +36 -0
- package/dist/shared/taxonomyDefaults.d.ts +29 -0
- package/dist/shared/taxonomyDefaults.js +26 -0
- package/dist/shared/taxonomyLibrary.d.ts +15 -0
- package/dist/shared/taxonomyLibrary.js +98 -0
- package/dist/shared/taxonomyLibrary.test.d.ts +1 -0
- package/dist/shared/taxonomyLibrary.test.js +26 -0
- package/dist/shared/taxonomyState.d.ts +36 -0
- package/dist/shared/taxonomyState.js +73 -0
- package/dist/shared/taxonomyState.test.d.ts +1 -0
- package/dist/shared/taxonomyState.test.js +71 -0
- package/dist/shared/workflowDefaults.d.ts +9 -0
- package/dist/shared/workflowDefaults.js +11 -0
- package/dist/storage/documentIntegrity.d.ts +2 -0
- package/dist/storage/documentIntegrity.js +34 -17
- package/dist/storage/documentPurge.d.ts +2 -1
- package/dist/storage/documentPurge.js +35 -8
- package/dist/storage/index.d.ts +4 -0
- package/dist/storage/index.js +2 -0
- package/dist/storage/objectStorage.d.ts +1 -1
- package/dist/storage/objectStorageClient.d.ts +6 -4
- package/dist/storage/objectStorageClient.js +77 -29
- package/dist/storage/objectStorageClient.test.d.ts +1 -0
- package/dist/storage/objectStorageClient.test.js +57 -0
- package/dist/storage/objectStorageConfig.js +3 -1
- package/dist/storage/objectStorageConfig.test.d.ts +1 -0
- package/dist/storage/objectStorageConfig.test.js +38 -0
- package/dist/storage/postgresAdapter.d.ts +5 -0
- package/dist/storage/postgresAdapter.js +2 -2
- package/dist/storage/postgresAdapter.test.d.ts +1 -0
- package/dist/storage/postgresAdapter.test.js +29 -0
- package/dist/storage/taskAssetStore.d.ts +7 -4
- package/dist/storage/taskAssetStore.js +65 -60
- package/dist/storage/workspaceAssetStore.d.ts +122 -0
- package/dist/storage/workspaceAssetStore.js +496 -0
- package/dist/storage/workspaceAssetStore.test.d.ts +1 -0
- package/dist/storage/workspaceAssetStore.test.js +501 -0
- package/dist/sync/cloudSyncApi.d.ts +33 -2
- package/dist/sync/cloudSyncApi.js +37 -15
- package/dist/sync/cloudSyncApi.test.js +60 -3
- package/dist/sync/index.d.ts +2 -0
- package/dist/sync/index.js +3 -0
- package/dist/sync/syncService.d.ts +25 -0
- package/dist/sync/syncService.js +184 -16
- package/dist/sync/syncService.test.js +289 -25
- package/dist/sync/workspaceRepair.d.ts +114 -0
- package/dist/sync/workspaceRepair.js +566 -0
- package/dist/sync/workspaceSyncModel.d.ts +230 -2
- package/dist/sync/workspaceSyncModel.js +456 -17
- package/dist/sync/workspaceSyncModel.test.js +642 -0
- package/dist/sync/workspaceSyncState.d.ts +12 -0
- package/dist/sync/workspaceSyncState.js +12 -0
- package/dist/sync/workspaceSyncSurface.d.ts +33 -0
- package/dist/sync/workspaceSyncSurface.js +74 -0
- package/dist/types.d.ts +143 -18
- package/dist/types.js +9 -24
- package/dist/ui/assets/AgentsModule-Bdq3T1Ts.js +1 -0
- package/dist/ui/assets/AnnotatedAttachmentWorkspace-BaS2VwIr.css +1 -0
- package/dist/ui/assets/AnnotatedAttachmentWorkspace-jKUVo-PJ.js +3 -0
- package/dist/ui/assets/DocumentWorkspace-C_8T8oz-.css +1 -0
- package/dist/ui/assets/DocumentWorkspace-DuQa-uIC.js +250 -0
- package/dist/ui/assets/InitiativesModule-C8Pi2VTk.js +1 -0
- package/dist/ui/assets/PlansPage-B6BDECSi.js +1 -0
- package/dist/ui/assets/PlansPage-BlVC_lRq.css +1 -0
- package/dist/ui/assets/TaskSettings-BwB9NtmJ.css +1 -0
- package/dist/ui/assets/TaskSettings-DUJgRTPU.js +8 -0
- package/dist/ui/assets/WorkflowsModule-b6TLuHwJ.js +5 -0
- package/dist/ui/assets/index-BiiF1cLQ.css +1 -0
- package/dist/ui/assets/index-xBWLPOEb.js +6 -0
- package/dist/ui/assets/vendor-dnd-DRzYolkg.js +5 -0
- package/dist/ui/assets/{vendor-icons-ZFG3SGwo.js → vendor-icons-QZyhEwgT.js} +1 -1
- package/dist/ui/assets/{vendor-markdown-CKYkQHfj.js → vendor-markdown-BUxTU7dS.js} +1 -1
- package/dist/ui/assets/vendor-react-CKJs5o3c.js +61 -0
- package/dist/ui/assets/vendor-router-BbWMxlnO.js +3 -0
- package/dist/ui/branding/logos/logo.png +0 -0
- package/dist/ui/branding/logos/logo_dark.svg +27 -0
- package/dist/ui/branding/logos/logo_favicon.svg +35 -0
- package/dist/ui/branding/logos/logo_light.svg +27 -0
- package/dist/ui/favicon/apple-touch-icon.png +0 -0
- package/dist/ui/favicon/archive/phoenix/apple-touch-icon.png +0 -0
- package/dist/ui/favicon/archive/phoenix/favicon.ico +0 -0
- package/dist/ui/favicon/archive/phoenix/site.webmanifest +1 -0
- package/dist/ui/favicon/favicon-96x96.png +0 -0
- package/dist/ui/favicon/favicon.ico +0 -0
- package/dist/ui/favicon/favicon.svg +17 -0
- package/dist/ui/favicon/site.webmanifest +21 -1
- package/dist/ui/favicon/web-app-manifest-192x192.png +0 -0
- package/dist/ui/favicon/web-app-manifest-512x512.png +0 -0
- package/dist/ui/index.html +10 -7
- package/dist/ui/product/screen_01.png +0 -0
- package/dist/ui/product/screen_02.png +0 -0
- package/dist/ui/product/screen_03.png +0 -0
- package/dist/utils/annotatedAttachments.d.ts +20 -0
- package/dist/utils/annotatedAttachments.js +74 -0
- package/dist/utils/annotatedAttachments.test.d.ts +1 -0
- package/dist/utils/annotatedAttachments.test.js +108 -0
- package/dist/utils/assignees.d.ts +26 -0
- package/dist/utils/assignees.js +132 -0
- package/dist/utils/canonicalAssetKind.d.ts +16 -0
- package/dist/utils/canonicalAssetKind.js +39 -0
- package/dist/utils/canonicalAssetKind.test.d.ts +1 -0
- package/dist/utils/canonicalAssetKind.test.js +24 -0
- package/dist/utils/coalescedRefresh.d.ts +5 -0
- package/dist/utils/coalescedRefresh.js +16 -0
- package/dist/utils/coalescedRefresh.test.d.ts +1 -0
- package/dist/utils/coalescedRefresh.test.js +30 -0
- package/dist/utils/constants.d.ts +16 -3
- package/dist/utils/constants.icons.test.js +2 -1
- package/dist/utils/constants.js +70 -13
- package/dist/utils/contextAssetEvents.d.ts +7 -0
- package/dist/utils/contextAssetEvents.js +6 -0
- package/dist/utils/contextFiles.d.ts +14 -3
- package/dist/utils/contextFiles.js +40 -8
- package/dist/utils/documentManagerApi.d.ts +6 -0
- package/dist/utils/documentManagerApi.js +19 -0
- package/dist/utils/documentNames.d.ts +24 -0
- package/dist/utils/documentNames.js +91 -0
- package/dist/utils/documentReferences.d.ts +9 -0
- package/dist/utils/documentReferences.js +11 -0
- package/dist/utils/entityReferences.d.ts +9 -0
- package/dist/utils/entityReferences.js +32 -0
- package/dist/utils/imageReferences.d.ts +9 -0
- package/dist/utils/imageReferences.js +11 -0
- package/dist/utils/planParser.d.ts +2 -2
- package/dist/utils/planParser.js +11 -11
- package/dist/utils/planParser.test.d.ts +1 -0
- package/dist/{__tests__ → utils}/planParser.test.js +22 -22
- package/dist/utils/planningReferences.d.ts +17 -0
- package/dist/utils/planningReferences.js +30 -0
- package/dist/utils/planningReferences.test.d.ts +1 -0
- package/dist/utils/planningReferences.test.js +17 -0
- package/dist/utils/taskActivity.d.ts +9 -0
- package/dist/utils/taskActivity.js +147 -0
- package/dist/utils/taskActivity.test.d.ts +1 -0
- package/dist/utils/taskActivity.test.js +34 -0
- package/dist/utils/taskDraftDefaults.d.ts +21 -0
- package/dist/utils/taskDraftDefaults.js +40 -0
- package/dist/utils/taskDraftDefaults.test.d.ts +1 -0
- package/dist/utils/taskDraftDefaults.test.js +34 -0
- package/dist/utils/taskNormalization.d.ts +25 -0
- package/dist/utils/taskNormalization.js +161 -0
- package/dist/utils/taskNormalization.test.d.ts +1 -0
- package/dist/utils/taskNormalization.test.js +158 -0
- package/dist/utils/taskReferences.d.ts +5 -0
- package/dist/utils/taskReferences.js +11 -0
- package/dist/utils/taskforceApiClient.d.ts +2 -0
- package/dist/utils/taskforceApiClient.js +101 -3
- package/dist/utils/taskforceApiClient.test.d.ts +1 -0
- package/dist/utils/taskforceApiClient.test.js +44 -0
- package/dist/utils/taxonomyFilterOptions.d.ts +2 -0
- package/dist/utils/taxonomyFilterOptions.js +17 -0
- package/dist/utils/taxonomyFormDefaults.d.ts +3 -0
- package/dist/utils/taxonomyFormDefaults.js +28 -0
- package/dist/utils/taxonomyFormDefaults.test.d.ts +1 -0
- package/dist/utils/taxonomyFormDefaults.test.js +63 -0
- package/dist/utils/taxonomyLifecycle.d.ts +3 -0
- package/dist/utils/taxonomyLifecycle.js +17 -0
- package/dist/utils/taxonomySorting.d.ts +7 -0
- package/dist/utils/taxonomySorting.js +74 -0
- package/dist/utils/theme.d.ts +15 -0
- package/dist/utils/theme.js +23 -0
- package/dist/utils/uiNotice.d.ts +7 -0
- package/dist/utils/uiNotice.js +6 -0
- package/dist/utils/uiNotice.test.d.ts +1 -0
- package/dist/utils/uiNotice.test.js +18 -0
- package/dist/utils/workspaceIdentity.d.ts +14 -0
- package/dist/utils/workspaceIdentity.js +21 -0
- package/dist/utils/workspaceIdentity.test.js +30 -1
- package/dist/utils/workspaceSyncPresentation.d.ts +20 -0
- package/dist/utils/workspaceSyncPresentation.js +21 -0
- package/dist/utils/workspaceSyncPresentation.test.d.ts +1 -0
- package/dist/utils/workspaceSyncPresentation.test.js +36 -0
- package/package.json +30 -23
- package/scripts/bootstrap-playwright-auth.mjs +155 -0
- package/scripts/check-compat-boundaries.mjs +41 -0
- package/scripts/check-env.ts +9 -2
- package/scripts/debug-login.mjs +32 -0
- package/scripts/deploy-prod.sh +41 -0
- package/scripts/deploy-staging.sh +23 -0
- package/scripts/migrate-planning-model.ts +233 -0
- package/scripts/migrate-task-data-assets.mjs +408 -0
- package/scripts/playwright-auth.sh +11 -0
- package/scripts/run-dev-proxy.sh +2 -0
- package/scripts/update-homebrew-formula.sh +2 -2
- package/scripts/with-esbuild.sh +11 -0
- package/src/resources/templates/WORKFLOW_V2_POLICY.md +1 -1
- package/src/resources/templates/workflow-sources/workflowDocs.mjs +62 -52
- package/src/resources/templates/workflows/collaborate.yaml +11 -5
- package/src/resources/templates/workflows/do.yaml +8 -2
- package/src/resources/templates/workflows/evaluate.yaml +13 -7
- package/src/resources/templates/workflows/execute.yaml +40 -23
- package/src/resources/templates/workflows/plan.yaml +15 -8
- package/src/resources/templates/workflows/review.yaml +14 -8
- package/dist/TaskforceScreenshot.d.ts +0 -11
- package/dist/TaskforceScreenshot.js +0 -113
- package/dist/compat/priorityCompat.d.ts +0 -2
- package/dist/compat/priorityCompat.js +0 -24
- package/dist/components/features/settings/TaxonomyManager 2.d.ts +0 -52
- package/dist/components/features/settings/TaxonomyManager 2.js +0 -75
- package/dist/components/task/TaskKanban 2.d.ts +0 -76
- package/dist/components/task/TaskKanban 2.js +0 -1004
- package/dist/components/task/TaskScreenshotSection.d.ts +0 -15
- package/dist/components/task/TaskScreenshotSection.js +0 -22
- package/dist/components/views/StandaloneLayout 2.d.ts +0 -8
- package/dist/components/views/StandaloneLayout 2.js +0 -1660
- package/dist/core/InitiativeTemplates.test.js +0 -50
- package/dist/core/ParentLifecycle.test.js +0 -98
- package/dist/migrations/clientMigrations.d.ts +0 -9
- package/dist/migrations/clientMigrations.js +0 -74
- package/dist/migrations/flags.d.ts +0 -6
- package/dist/migrations/flags.js +0 -8
- package/dist/migrations/taskMigrations.d.ts +0 -71
- package/dist/migrations/taskMigrations.js +0 -236
- package/dist/migrations/taskMigrations.test.js +0 -34
- package/dist/server/routes.billing.js +0 -991
- package/dist/server/routes.billing.test.js +0 -387
- package/dist/server/routes.sync.integration.test.js +0 -470
- package/dist/server/routes.sync.js +0 -1141
- package/dist/soak/syncSoakHarness.d.ts +0 -6
- package/dist/soak/syncSoakHarness.js +0 -10
- package/dist/ui/assets/index-0W5vyCpn.css +0 -1
- package/dist/ui/assets/index-MCZuNNfn.js +0 -23
- package/dist/ui/assets/logo_white_01-0Vx-iIIv.png +0 -0
- package/dist/ui/assets/vendor-dnd-BI1K77C1.js +0 -5
- package/dist/ui/assets/vendor-react-DdIDsh7f.js +0 -9
- package/dist/ui/assets/vendor-router-BtiNU7Dl.js +0 -3
- package/dist/utils/taskHierarchy.d.ts +0 -4
- package/dist/utils/taskHierarchy.js +0 -69
- package/dist/utils/taskHierarchy.test.js +0 -38
- package/dist/utils/taskParenting.d.ts +0 -3
- package/dist/utils/taskParenting.js +0 -24
- package/dist/utils/taskParenting.test.js +0 -21
- package/dist/utils/taskRelations.d.ts +0 -6
- package/dist/utils/taskRelations.js +0 -24
- package/dist/utils/taskRelations.test.js +0 -34
- package/scripts/check-compat-boundaries.js +0 -48
- /package/dist/{__tests__/planParser.test.d.ts → TaskforceCore.filter-persistence.test.d.ts} +0 -0
- /package/dist/{__tests__/releaseVersion.test.d.ts → TaskforceCore.routing.test.d.ts} +0 -0
- /package/dist/{__tests__/structuredCommentValidation.test.d.ts → annotatedAttachments/AnnotatedAttachmentSessionStore.test.d.ts} +0 -0
- /package/dist/{__tests__/structuredDocValidation.test.d.ts → annotatedAttachments/payload.test.d.ts} +0 -0
- /package/dist/{__tests__/templateEngine.test.d.ts → annotatedAttachments/types.js} +0 -0
- /package/dist/{__tests__/templates.test.d.ts → compat/workspaceSyncCompat.test.d.ts} +0 -0
- /package/dist/{__tests__/workflowDocumentFixtures.test.d.ts → components/features/AgentsModule.test.d.ts} +0 -0
- /package/dist/{__tests__/workflowExportMatrix.test.d.ts → components/features/AnnotatedAttachmentWorkspace.test.d.ts} +0 -0
- /package/dist/{__tests__/workflowExportSnapshots.test.d.ts → components/features/DocumentWorkspace.test.d.ts} +0 -0
- /package/dist/{__tests__/workflowGeneration.test.d.ts → components/features/settings/TaxonomyLibraryManager.test.d.ts} +0 -0
- /package/dist/{__tests__/workflowV2Policy.test.d.ts → components/task/TaskActionHeader.test.d.ts} +0 -0
- /package/dist/{core/InitiativeTemplates.test.d.ts → components/task/TaskKanban.planning-drop.test.d.ts} +0 -0
- /package/dist/{core/ParentLifecycle.test.d.ts → components/task/TaskStatusActions.test.d.ts} +0 -0
- /package/dist/{migrations/taskMigrations.test.d.ts → components/ui/TopNoticeLayer.test.d.ts} +0 -0
- /package/dist/{server/routes.billing.test.d.ts → components/views/AppShellHeader.test.d.ts} +0 -0
- /package/dist/{server/routes.sync.integration.test.d.ts → components/views/PlanComparisonPage.test.d.ts} +0 -0
- /package/dist/{utils/taskHierarchy.test.d.ts → components/views/chrome/WorkspaceChromeSections.test.d.ts} +0 -0
- /package/dist/{utils/taskParenting.test.d.ts → components/views/chrome/workspaceChrome.test.d.ts} +0 -0
- /package/dist/{utils/taskRelations.test.d.ts → components/views/panels/DocumentFilterToolbar.test.d.ts} +0 -0
- /package/dist/public/{android-chrome-192x192.png → archive/phoenix/android-chrome-192x192.png} +0 -0
- /package/dist/public/{android-chrome-512x512.png → archive/phoenix/android-chrome-512x512.png} +0 -0
- /package/dist/public/{favicon-16x16.png → archive/phoenix/favicon-16x16.png} +0 -0
- /package/dist/public/{favicon-32x32.png → archive/phoenix/favicon-32x32.png} +0 -0
- /package/dist/public/{favicon.png → archive/phoenix/favicon.png} +0 -0
- /package/dist/{__tests__ → services}/workflowExportSnapshots.test.js +0 -0
- /package/dist/{__tests__ → services}/workflowGeneration.test.js +0 -0
- /package/dist/ui/favicon/{android-chrome-192x192.png → archive/phoenix/android-chrome-192x192.png} +0 -0
- /package/dist/ui/favicon/{android-chrome-512x512.png → archive/phoenix/android-chrome-512x512.png} +0 -0
- /package/dist/ui/favicon/{favicon-16x16.png → archive/phoenix/favicon-16x16.png} +0 -0
- /package/dist/ui/favicon/{favicon-32x32.png → archive/phoenix/favicon-32x32.png} +0 -0
- /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 = ['
|
|
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}}
|
|
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}}
|
|
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
|
-
'- [ ]
|
|
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
|
-
'- [ ]
|
|
132
|
+
'- [ ] Planning relationships changed only when explicitly requested',
|
|
128
133
|
'- [ ] Did NOT call `{{MCP_PREFIX}}archive_task`',
|
|
129
|
-
'- [ ] Did NOT set `
|
|
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 `
|
|
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 `
|
|
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
|
|
165
|
-
'3. **
|
|
166
|
-
' -
|
|
167
|
-
' -
|
|
168
|
-
' -
|
|
169
|
-
' -
|
|
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 `
|
|
172
|
-
' - Confirm owner default:
|
|
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
|
|
184
|
-
' -
|
|
185
|
-
' -
|
|
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.
|
|
196
|
-
' -
|
|
197
|
-
'
|
|
198
|
-
'
|
|
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}}
|
|
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: '
|
|
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
|
|
258
|
-
' - `
|
|
259
|
-
' - Record owner strategy
|
|
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}}
|
|
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 `
|
|
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}}
|
|
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: '
|
|
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}}
|
|
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 `
|
|
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}}
|
|
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: '
|
|
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}}
|
|
429
|
-
'6. Never set `
|
|
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
|
|
435
|
-
' - If the document is not task-specific, store it under `docs/` and optionally link it with `{{MCP_PREFIX}}
|
|
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}}
|
|
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: '
|
|
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}}
|
|
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 `
|
|
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
|
|
515
|
-
' - If the document is not task-specific, store it under `docs/` and optionally link it with `{{MCP_PREFIX}}
|
|
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}}
|
|
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:
|
|
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}}
|
|
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 `
|
|
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}}
|
|
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}}
|
|
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:
|
|
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}}
|
|
104
|
-
6. Never set `
|
|
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
|
|
110
|
-
- If the document is not task-specific, store it under `docs/` and optionally link it with `{{MCP_PREFIX}}
|
|
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}}
|
|
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
|
-
- [ ]
|
|
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 `
|
|
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
|
|
101
|
-
- Default to
|
|
102
|
-
- Use
|
|
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
|
|
108
|
-
3. **
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
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
|
|
115
|
-
- Confirm owner default:
|
|
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
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
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.
|
|
139
|
-
-
|
|
140
|
-
|
|
141
|
-
|
|
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.
|