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