@taskforcehq/taskforce 0.3.328 → 0.3.330
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/dist/Taskforce.module.css +523 -79
- package/dist/TaskforceCore.js +237 -230
- package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.js +1 -1
- package/dist/cli.js +34 -0
- package/dist/cliCloudTargetGuard.d.ts +5 -0
- package/dist/cliCloudTargetGuard.js +11 -0
- package/dist/components/features/AiProfilesModule.js +3 -5
- package/dist/components/features/AnnotatedAttachmentWorkspace.js +24 -8
- package/dist/components/features/TaskSettings.d.ts +12 -1
- package/dist/components/features/TaskSettings.js +217 -54
- package/dist/components/features/TaskforceAgentsModule.d.ts +1 -2
- package/dist/components/features/TaskforceAgentsModule.js +586 -116
- package/dist/components/features/agentCapabilities/AgentCapabilitiesPrototype.d.ts +1 -1
- package/dist/components/features/agentConnections/AgentConnectionControl.d.ts +15 -0
- package/dist/components/features/agentConnections/AgentConnectionControl.js +125 -0
- package/dist/components/features/agentConnections/ModelConnectionsPanel.d.ts +18 -0
- package/dist/components/features/agentConnections/ModelConnectionsPanel.js +393 -0
- package/dist/components/features/agentConnections/modelConnectionsApi.d.ts +65 -0
- package/dist/components/features/agentConnections/modelConnectionsApi.js +129 -0
- package/dist/components/features/planning/PlanningModule.js +2 -5
- package/dist/components/features/planning/PlanningTaskOrderList.d.ts +1 -1
- package/dist/components/features/planning/PlanningTaskOrderList.js +17 -6
- package/dist/components/features/planning/planningTaskArrangement.d.ts +1 -0
- package/dist/components/features/planning/planningTaskArrangement.js +5 -5
- package/dist/components/features/taskforceAgentAssignments/AgentBehaviorAssignments.js +15 -24
- package/dist/components/features/taskforceAgentEditorModel.d.ts +2 -1
- package/dist/components/features/taskforceAgentEditorModel.js +5 -1
- package/dist/components/features/workflowManager/workflowManagerApi.d.ts +1 -1
- package/dist/components/features/workflowManager/workflowManagerApi.js +3 -0
- package/dist/components/task/TaskCard.d.ts +5 -0
- package/dist/components/task/TaskCard.js +65 -10
- package/dist/components/task/TaskImageReviews.js +14 -5
- package/dist/components/task/TaskKanban.d.ts +6 -1
- package/dist/components/task/TaskKanban.js +152 -6
- package/dist/components/task/TaskList.d.ts +5 -0
- package/dist/components/task/TaskList.js +3 -3
- package/dist/components/task/TaskWorkflowAssignmentField.js +68 -10
- package/dist/components/ui/PasswordInput.d.ts +6 -0
- package/dist/components/ui/PasswordInput.js +11 -0
- package/dist/components/ui/TopNoticeLayer.js +1 -1
- package/dist/components/views/AppShellHeader.js +32 -11
- package/dist/components/views/PlanComparisonPage.js +12 -0
- package/dist/components/views/StandaloneLayout.js +32 -55
- package/dist/components/views/WidgetView.js +3 -3
- package/dist/components/views/panels/PlanningDrawer.js +5 -12
- package/dist/components/views/standalone/modals/AccountSettingsModal.js +26 -17
- package/dist/components/views/standalone/modals/SyncStatusModal.d.ts +4 -3
- package/dist/components/views/standalone/modals/SyncStatusModal.js +33 -38
- package/dist/config/envSchema.js +60 -1
- package/dist/config/localServiceRuntimeContract.d.ts +13 -0
- package/dist/config/localServiceRuntimeContract.js +135 -0
- package/dist/core/AiProfileService.js +46 -8
- package/dist/core/DeletedTaskLifecycleService.d.ts +1 -0
- package/dist/core/DeletedTaskLifecycleService.js +37 -6
- package/dist/core/McpTokenService.d.ts +23 -1
- package/dist/core/McpTokenService.js +93 -10
- package/dist/core/TaskAttachmentLinksDurableMutationService.d.ts +3 -2
- package/dist/core/TaskAttachmentLinksDurableMutationService.js +33 -9
- package/dist/core/TaskChecklistCommandService.d.ts +27 -0
- package/dist/core/TaskChecklistCommandService.js +83 -5
- package/dist/core/TaskLifecycleCommandService.d.ts +3 -1
- package/dist/core/TaskLifecycleCommandService.js +6 -2
- package/dist/core/Taskforce.d.ts +94 -2
- package/dist/core/Taskforce.js +760 -36
- package/dist/core/types.d.ts +14 -0
- package/dist/documentReviews/commandService.d.ts +2 -1
- package/dist/documentReviews/commandService.js +6 -3
- package/dist/hooks/sync/orchestratorShared.d.ts +1 -0
- package/dist/hooks/sync/orchestratorShared.js +2 -0
- package/dist/hooks/sync/useDurableLocalOutboxDrain.d.ts +1 -1
- package/dist/hooks/sync/useDurableTaskCreateMutation.js +1 -1
- package/dist/hooks/sync/useDurableTaskMetadataMutation.d.ts +1 -0
- package/dist/hooks/sync/useDurableTaskMetadataMutation.js +1 -0
- package/dist/hooks/sync/useDurableTaskStatusMutation.d.ts +1 -0
- package/dist/hooks/sync/useLocalSyncCoordinatorSnapshot.d.ts +3 -0
- package/dist/hooks/sync/useLocalSyncCoordinatorSnapshot.js +85 -9
- package/dist/hooks/sync/useSyncStatusControls.d.ts +4 -1
- package/dist/hooks/sync/useSyncStatusControls.js +47 -11
- package/dist/hooks/tasks/taskHttpMutation.js +1 -0
- package/dist/hooks/tasks/useCloudTaskSearch.d.ts +12 -0
- package/dist/hooks/tasks/useCloudTaskSearch.js +71 -0
- package/dist/hooks/tasks/useTaskDescriptionImageDraftRecovery.d.ts +16 -0
- package/dist/hooks/tasks/useTaskDescriptionImageDraftRecovery.js +197 -0
- package/dist/hooks/tasks/useTaskEditorNavigation.d.ts +16 -3
- package/dist/hooks/tasks/useTaskEditorNavigation.js +72 -13
- package/dist/hooks/tasks/useTaskFormActions.d.ts +6 -0
- package/dist/hooks/tasks/useTaskFormActions.js +65 -12
- package/dist/hooks/ui/useSettingsModel.d.ts +24 -2
- package/dist/hooks/ui/useSettingsModel.js +13 -2
- package/dist/hooks/ui/useSettingsPersistence.d.ts +12 -1
- package/dist/hooks/ui/useSettingsPersistence.js +74 -47
- package/dist/hooks/useFilterSort.d.ts +7 -3
- package/dist/hooks/useFilterSort.js +15 -5
- package/dist/hooks/useSyncOrchestrator.d.ts +3 -0
- package/dist/hooks/useSyncOrchestrator.js +111 -2
- package/dist/hooks/useTaskData.d.ts +40 -1
- package/dist/hooks/useTaskData.js +240 -9
- package/dist/hooks/useTaskMutations.d.ts +12 -2
- package/dist/hooks/useTaskMutations.js +266 -52
- package/dist/hooks/useTaskforce.d.ts +39 -9
- package/dist/hooks/useTaskforce.js +359 -40
- package/dist/hooks/useUiNotice.d.ts +4 -0
- package/dist/hooks/useUiNotice.js +4 -0
- package/dist/mcp/adminWorkspaceRegistrar.js +3 -3
- package/dist/mcp/clientRegistry.d.ts +2 -2
- package/dist/mcp/clientRegistry.js +1 -1
- package/dist/mcp/documentAssetRegistrar.js +53 -41
- package/dist/mcp/documentHelpers.d.ts +1 -0
- package/dist/mcp/documentHelpers.js +7 -3
- package/dist/mcp/durableTaskMutationRouter.d.ts +4 -1
- package/dist/mcp/durableTaskMutationRouter.js +10 -0
- package/dist/mcp/durableTaskRelationshipMutationRouter.js +4 -0
- package/dist/mcp/httpProtocolRouting.d.ts +10 -0
- package/dist/mcp/httpProtocolRouting.js +19 -0
- package/dist/mcp/localCliHealth.d.ts +2 -2
- package/dist/mcp/localCliHealth.js +2 -2
- package/dist/mcp/localServiceProxy.d.ts +1 -0
- package/dist/mcp/localServiceProxy.js +530 -68
- package/dist/mcp/planningAttachmentCommandAdapter.d.ts +3 -1
- package/dist/mcp/planningAttachmentCommandAdapter.js +20 -2
- package/dist/mcp/runtime.d.ts +54 -79
- package/dist/mcp/runtime.js +556 -139
- package/dist/mcp/taskPlanningRegistrar.js +64 -42
- package/dist/mcp/toolCallCompatibility.js +38 -1
- package/dist/mcp/toolCatalog.d.ts +1 -0
- package/dist/mcp/toolProfiles.d.ts +2 -0
- package/dist/mcp/toolProfiles.js +10 -0
- package/dist/mcp/toolRegistry.d.ts +1 -0
- package/dist/mcp/toolRegistry.js +1 -0
- package/dist/mcp/workflowExecutionRegistrar.js +4 -4
- package/dist/migrations/taskSchemaMigrations.d.ts +5 -0
- package/dist/migrations/taskSchemaMigrations.js +427 -0
- package/dist/runtime/appGateDefinitions.d.ts +30 -6
- package/dist/runtime/appGateDefinitions.js +6 -6
- package/dist/runtime/appGates.d.ts +13 -13
- package/dist/runtime/appGates.js +36 -13
- package/dist/runtime/nodeAppGates.d.ts +8 -0
- package/dist/runtime/nodeAppGates.js +27 -0
- package/dist/server/cloudCollectionRead.d.ts +1 -1
- package/dist/server/cloudCollectionRead.js +2 -2
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.js +123 -14
- package/dist/server/localDatabaseIdentity.js +4 -1
- package/dist/server/localServiceLease.d.ts +3 -0
- package/dist/server/localServiceLease.js +11 -2
- package/dist/server/localServiceSessions.d.ts +14 -17
- package/dist/server/localServiceSessions.js +308 -94
- package/dist/server/localWorkspaceSyncServerRuntime.js +12 -7
- package/dist/server/rateLimit.d.ts +1 -0
- package/dist/server/rateLimit.js +4 -0
- package/dist/server/realtimeSyncWs.js +36 -12
- package/dist/server/routes/admin.d.ts +4 -0
- package/dist/server/routes/admin.js +113 -3
- package/dist/server/routes/agentRoles.js +3 -2
- package/dist/server/routes/agentSkills.js +3 -2
- package/dist/server/routes/agents.d.ts +7 -0
- package/dist/server/routes/agents.js +394 -39
- package/dist/server/routes/annotatedAttachments.js +3 -2
- package/dist/server/routes/auth.js +3 -1
- package/dist/server/routes/billing.js +5 -1
- package/dist/server/routes/durableTaskHttpRouters.d.ts +11 -2
- package/dist/server/routes/executorPhaseAApprovals.d.ts +19 -0
- package/dist/server/routes/executorPhaseAApprovals.js +140 -0
- package/dist/server/routes/executorPhaseAIssuerRedemptions.d.ts +11 -0
- package/dist/server/routes/executorPhaseAIssuerRedemptions.js +24 -0
- package/dist/server/routes/githubReviewEvidence.d.ts +19 -0
- package/dist/server/routes/githubReviewEvidence.js +116 -0
- package/dist/server/routes/localService.d.ts +15 -4
- package/dist/server/routes/localService.js +138 -40
- package/dist/server/routes/modelConnections.d.ts +24 -0
- package/dist/server/routes/modelConnections.js +205 -0
- package/dist/server/routes/primitives.d.ts +2 -0
- package/dist/server/routes/shared.d.ts +19 -0
- package/dist/server/routes/shared.js +95 -19
- package/dist/server/routes/sync.js +1 -0
- package/dist/server/routes/syncAuxRoutes.js +9 -2
- package/dist/server/routes/syncPullApplyRoutes.js +23 -4
- package/dist/server/routes/syncPushRoutes.d.ts +1 -0
- package/dist/server/routes/syncPushRoutes.js +1 -0
- package/dist/server/routes/syncV3FeedRoutes.js +27 -16
- package/dist/server/routes/syncV3LocalCaptureRoutes.js +28 -2
- package/dist/server/routes/syncV3LocalFeedApplyRoutes.d.ts +1 -0
- package/dist/server/routes/syncV3LocalFeedApplyRoutes.js +26 -0
- package/dist/server/routes/syncV3OperationRoutes.js +45 -9
- package/dist/server/routes/tasks.js +124 -13
- package/dist/server/routes/workflows.js +9 -1
- package/dist/server/routes/workspaces.js +43 -1
- package/dist/server/routes.js +59 -0
- package/dist/server/workspaceDeletionAdmission.d.ts +23 -0
- package/dist/server/workspaceDeletionAdmission.js +50 -0
- package/dist/service/localServiceCli.js +16 -0
- package/dist/service/localServiceClientLifecycle.js +36 -10
- package/dist/services/codexAppServerModelGateway.d.ts +161 -0
- package/dist/services/codexAppServerModelGateway.js +663 -0
- package/dist/services/codexDeviceCodeLoginManager.d.ts +39 -0
- package/dist/services/codexDeviceCodeLoginManager.js +265 -0
- package/dist/services/codexModelProviderConnectionLifecycle.d.ts +8 -0
- package/dist/services/codexModelProviderConnectionLifecycle.js +73 -0
- package/dist/services/executorPhaseAApprovalRuntime.d.ts +14 -0
- package/dist/services/executorPhaseAApprovalRuntime.js +24 -0
- package/dist/services/executorPhaseAApprovalService.d.ts +40 -0
- package/dist/services/executorPhaseAApprovalService.js +609 -0
- package/dist/services/executorPhaseADriftEvaluator.d.ts +78 -0
- package/dist/services/executorPhaseADriftEvaluator.js +93 -0
- package/dist/services/executorPhaseAIssuerCore.d.ts +126 -0
- package/dist/services/executorPhaseAIssuerCore.js +295 -0
- package/dist/services/executorPhaseAIssuerRedemptionService.d.ts +34 -0
- package/dist/services/executorPhaseAIssuerRedemptionService.js +158 -0
- package/dist/services/githubReviewEvidenceRuntime.d.ts +14 -0
- package/dist/services/githubReviewEvidenceRuntime.js +30 -0
- package/dist/services/githubReviewEvidenceService.d.ts +93 -0
- package/dist/services/githubReviewEvidenceService.js +336 -0
- package/dist/services/modelGateway.d.ts +7 -0
- package/dist/services/modelProviderConnectionService.d.ts +71 -0
- package/dist/services/modelProviderConnectionService.js +279 -0
- package/dist/services/modelProviderCredentialHome.d.ts +32 -0
- package/dist/services/modelProviderCredentialHome.js +271 -0
- package/dist/services/ownerScopedModelConnectionGateway.d.ts +12 -0
- package/dist/services/ownerScopedModelConnectionGateway.js +30 -0
- package/dist/services/taskforceAgentConnectionBindingService.d.ts +66 -0
- package/dist/services/taskforceAgentConnectionBindingService.js +185 -0
- package/dist/services/taskforceAgentMcpBridge.d.ts +8 -2
- package/dist/services/taskforceAgentMcpBridge.js +30 -27
- package/dist/shared/adminEdgeProxy.d.ts +5 -0
- package/dist/shared/adminEdgeProxy.js +94 -0
- package/dist/shared/adminProxySessionCookies.d.ts +16 -0
- package/dist/shared/adminProxySessionCookies.js +86 -0
- package/dist/shared/aiProfileColors.d.ts +31 -1
- package/dist/shared/aiProfileColors.js +14 -6
- package/dist/shared/executorPhaseAApprovalGoldenVector.json +269 -0
- package/dist/shared/executorPhaseAApprovalReceipt.d.ts +112 -0
- package/dist/shared/executorPhaseAApprovalReceipt.js +58 -0
- package/dist/shared/executorPhaseAApprovalTrustPolicy.json +10 -0
- package/dist/shared/executorPhaseADriftContracts.d.ts +37 -0
- package/dist/shared/executorPhaseADriftContracts.js +63 -0
- package/dist/shared/executorPhaseAIssuerContracts.d.ts +75 -0
- package/dist/shared/executorPhaseAIssuerContracts.js +90 -0
- package/dist/shared/executorPhaseARunAuthorization.d.ts +120 -0
- package/dist/shared/executorPhaseARunAuthorization.js +232 -0
- package/dist/shared/executorPhaseASchemaValidation.d.ts +7 -0
- package/dist/shared/executorPhaseASchemaValidation.js +53 -0
- package/dist/shared/executorPhaseASchemas/approval-receipt.schema.json +106 -0
- package/dist/shared/executorPhaseASchemas/drift-attestation.schema.json +54 -0
- package/dist/shared/executorPhaseASchemas/drift-request.schema.json +47 -0
- package/dist/shared/executorPhaseASchemas/foundation-manifest.schema.json +29 -0
- package/dist/shared/executorPhaseASchemas/issuer-audit-record.schema.json +24 -0
- package/dist/shared/executorPhaseASchemas/issuer-proof.schema.json +43 -0
- package/dist/shared/executorPhaseASchemas/issuer-redemption-request.schema.json +18 -0
- package/dist/shared/executorPhaseASchemas/issuer-redemption-response.schema.json +39 -0
- package/dist/shared/executorPhaseASchemas/logical-envelope.schema.json +149 -0
- package/dist/shared/executorPhaseASchemas/preflight-report.schema.json +216 -0
- package/dist/shared/executorPhaseASchemas/run-capability.schema.json +111 -0
- package/dist/shared/executorPhaseASchemas/sender-proof.schema.json +37 -0
- package/dist/shared/executorPhaseASchemas/workload-grant.schema.json +68 -0
- package/dist/shared/executorPhaseASchemas/workload-jwt-claims.schema.json +67 -0
- package/dist/shared/executorPhaseATiming.d.ts +1 -0
- package/dist/shared/executorPhaseATiming.js +1 -0
- package/dist/shared/planningIdentity.js +1 -1
- package/dist/shared/productLogoKeys.d.ts +2 -0
- package/dist/shared/productLogoKeys.js +18 -0
- package/dist/shared/taskforceAgentDefinition.d.ts +0 -1
- package/dist/shared/taskforceAgentDefinition.js +6 -3
- package/dist/shared/taskforceAgentModels.d.ts +1 -0
- package/dist/shared/taskforceAgentModels.js +36 -3
- package/dist/shared/userFeatureGrants.d.ts +4 -0
- package/dist/shared/userFeatureGrants.js +7 -0
- package/dist/storage/executorPhaseAApprovalReceiptStore.d.ts +37 -0
- package/dist/storage/executorPhaseAApprovalReceiptStore.js +81 -0
- package/dist/storage/executorPhaseARunAuthorizationStore.d.ts +103 -0
- package/dist/storage/executorPhaseARunAuthorizationStore.js +492 -0
- package/dist/storage/githubReviewEvidenceInstallationStore.d.ts +26 -0
- package/dist/storage/githubReviewEvidenceInstallationStore.js +89 -0
- package/dist/storage/modelProviderConnectionStore.d.ts +99 -0
- package/dist/storage/modelProviderConnectionStore.js +446 -0
- package/dist/storage/postgresAdapter.d.ts +24 -3
- package/dist/storage/postgresAdapter.js +117 -14
- package/dist/storage/postgresWorker.js +22 -5
- package/dist/storage/postgresWorkerProtocol.d.ts +30 -0
- package/dist/storage/postgresWorkerProtocol.js +30 -0
- package/dist/storage/taskforceAgentConnectionBindingStore.d.ts +31 -0
- package/dist/storage/taskforceAgentConnectionBindingStore.js +84 -0
- package/dist/sync/cloudSyncApi.d.ts +4 -1
- package/dist/sync/cloudSyncApi.js +7 -2
- package/dist/sync/contentSyncState.d.ts +1 -1
- package/dist/sync/coordinator/localSyncExecutionPermitStore.d.ts +1 -0
- package/dist/sync/coordinator/localSyncExecutionPermitStore.js +67 -30
- package/dist/sync/coordinator/localWorkspaceSyncPendingV2PushProgress.d.ts +10 -0
- package/dist/sync/coordinator/localWorkspaceSyncPendingV2PushProgress.js +29 -0
- package/dist/sync/coordinator/localWorkspaceSyncRunner.js +6 -2
- package/dist/sync/coordinator/localWorkspaceSyncRunnerState.d.ts +15 -1
- package/dist/sync/coordinator/localWorkspaceSyncRunnerState.js +99 -2
- package/dist/sync/coordinator/workspaceSyncCredentialBroker.d.ts +1 -0
- package/dist/sync/coordinator/workspaceSyncCredentialBroker.js +33 -4
- package/dist/sync/engine/workspaceSyncContentLifecycleAdapter.d.ts +2 -1
- package/dist/sync/engine/workspaceSyncContentVersionStore.d.ts +38 -0
- package/dist/sync/engine/workspaceSyncContentVersionStore.js +50 -1
- package/dist/sync/engine/workspaceSyncEngineBrowserGatewayRemoteServices.js +20 -2
- package/dist/sync/engine/workspaceSyncEngineLifecyclePolicy.js +6 -6
- package/dist/sync/engine/workspaceSyncEngineLocalServices.d.ts +4 -0
- package/dist/sync/engine/workspaceSyncEngineLocalServices.js +11 -0
- package/dist/sync/engine/workspaceSyncEnginePushCompletion.d.ts +14 -0
- package/dist/sync/engine/workspaceSyncEnginePushCompletion.js +84 -0
- package/dist/sync/engine/workspaceSyncEngineRecovery.js +1 -0
- package/dist/sync/engine/workspaceSyncEngineRemoteServices.d.ts +11 -0
- package/dist/sync/engine/workspaceSyncEngineRemoteServices.js +2 -1
- package/dist/sync/engine/workspaceSyncEngineRuntime.d.ts +1 -0
- package/dist/sync/engine/workspaceSyncEngineRuntime.js +1 -0
- package/dist/sync/engine/workspaceSyncEngineServerRemoteServices.js +31 -4
- package/dist/sync/engine/workspaceSyncEngineServerRunnerOperations.d.ts +3 -1
- package/dist/sync/engine/workspaceSyncEngineServerRunnerOperations.js +134 -43
- package/dist/sync/engine/workspaceSyncEngineServerSnapshotReader.js +6 -0
- package/dist/sync/engine/workspaceSyncEngineTransfers.d.ts +1 -1
- package/dist/sync/engine/workspaceSyncEngineTransfers.js +11 -4
- package/dist/sync/engine/workspaceSyncV2ChangeDispatcher.d.ts +1 -0
- package/dist/sync/engine/workspaceSyncV2ChangeDispatcher.js +29 -0
- package/dist/sync/syncApplyHandlers.d.ts +2 -0
- package/dist/sync/syncApplyHandlers.js +10 -1
- package/dist/sync/syncService.d.ts +17 -0
- package/dist/sync/syncService.js +87 -19
- package/dist/sync/taskforceAgentSyncAuthorization.d.ts +16 -0
- package/dist/sync/taskforceAgentSyncAuthorization.js +20 -0
- package/dist/sync/v3/combinedFeedCapability.js +8 -0
- package/dist/sync/v3/durableInitiativeMutationRouter.js +18 -10
- package/dist/sync/v3/durableOperationReplay.d.ts +14 -0
- package/dist/sync/v3/durableOperationReplay.js +18 -0
- package/dist/sync/v3/durableTaskAttachmentLinksMutationRouter.d.ts +2 -0
- package/dist/sync/v3/durableTaskAttachmentLinksMutationRouter.js +14 -1
- package/dist/sync/v3/durableTaskChecklistMutationRouter.d.ts +4 -1
- package/dist/sync/v3/durableTaskChecklistMutationRouter.js +62 -15
- package/dist/sync/v3/durableTaskCommentMutationRouter.js +3 -0
- package/dist/sync/v3/durableTaskHttpBulkMutationRouter.d.ts +1 -0
- package/dist/sync/v3/durableTaskHttpBulkMutationRouter.js +30 -8
- package/dist/sync/v3/durableTaskHttpRootMutationRouter.d.ts +5 -3
- package/dist/sync/v3/durableTaskHttpRootMutationRouter.js +37 -2
- package/dist/sync/v3/durableTaxonomyMutationRouter.js +5 -0
- package/dist/sync/v3/durableWorkflowRuntimeMutationRouter.d.ts +11 -0
- package/dist/sync/v3/durableWorkflowRuntimeMutationRouter.js +39 -10
- package/dist/sync/v3/durableWorkstreamMutationRouter.js +18 -10
- package/dist/sync/v3/durableWorkstreamTaskOrderMutationRouter.js +16 -5
- package/dist/sync/v3/localOutboxDispatchRuntime.js +2 -2
- package/dist/sync/v3/localTaskAttachmentLinksOutboxService.d.ts +2 -0
- package/dist/sync/v3/localTaskAttachmentLinksOutboxService.js +47 -7
- package/dist/sync/v3/localTaskChecklistOutboxHandler.js +16 -2
- package/dist/sync/v3/localTaskChecklistOutboxService.d.ts +4 -0
- package/dist/sync/v3/localTaskChecklistOutboxService.js +14 -1
- package/dist/sync/v3/localTaskCreateOutboxService.js +15 -6
- package/dist/sync/v3/localTaskMetadataClient.d.ts +1 -0
- package/dist/sync/v3/localTaskMetadataClient.js +1 -0
- package/dist/sync/v3/localTaskMetadataOutboxHandler.js +5 -1
- package/dist/sync/v3/localTaskMetadataOutboxService.d.ts +2 -0
- package/dist/sync/v3/localTaskMetadataOutboxService.js +7 -0
- package/dist/sync/v3/localTaskRestoreOutboxService.js +14 -6
- package/dist/sync/v3/localTaskStatusClient.d.ts +1 -0
- package/dist/sync/v3/localTaskStatusClient.js +6 -1
- package/dist/sync/v3/localTaskStatusOutboxService.d.ts +10 -0
- package/dist/sync/v3/localTaskStatusOutboxService.js +272 -24
- package/dist/sync/v3/syncDurabilityStore.d.ts +41 -0
- package/dist/sync/v3/syncDurabilityStore.js +199 -13
- package/dist/sync/v3/taskAttachmentLinksMutationService.d.ts +6 -4
- package/dist/sync/v3/taskAttachmentLinksMutationService.js +19 -10
- package/dist/sync/v3/taskChecklistMutationService.d.ts +15 -2
- package/dist/sync/v3/taskChecklistMutationService.js +48 -1
- package/dist/sync/v3/taskCreateMutationService.d.ts +2 -2
- package/dist/sync/v3/taskCreateMutationService.js +7 -4
- package/dist/sync/v3/taskMetadataMutationService.d.ts +3 -0
- package/dist/sync/v3/taskMetadataMutationService.js +4 -0
- package/dist/sync/v3/taskRestoreMutationService.d.ts +2 -2
- package/dist/sync/v3/taskRestoreMutationService.js +7 -4
- package/dist/sync/v3/taskStatusMutationService.d.ts +31 -1
- package/dist/sync/v3/taskStatusMutationService.js +123 -3
- package/dist/sync/v3/workflowAssignmentSync.d.ts +6 -0
- package/dist/sync/v3/workflowAssignmentSync.js +30 -0
- package/dist/sync/v3/workspaceSyncJournalReader.js +1 -1
- package/dist/sync/v3/workspaceSyncOperationRetentionService.d.ts +16 -0
- package/dist/sync/v3/workspaceSyncOperationRetentionService.js +83 -0
- package/dist/sync/v3/workspaceSyncV2ProjectionExclusions.d.ts +1 -1
- package/dist/sync/v3/workspaceSyncV2ProjectionExclusions.js +13 -3
- package/dist/sync/v3/workspaceSyncV3AttachmentApplyObligationStore.d.ts +11 -0
- package/dist/sync/v3/workspaceSyncV3AttachmentApplyObligationStore.js +27 -10
- package/dist/sync/v3/workspaceSyncV3AttachmentAssetHydration.d.ts +2 -1
- package/dist/sync/v3/workspaceSyncV3AttachmentAssetHydration.js +52 -10
- package/dist/sync/v3/workspaceSyncV3CloudOperationHandler.d.ts +1 -0
- package/dist/sync/v3/workspaceSyncV3CloudOperationHandler.js +18 -3
- package/dist/sync/v3/workspaceSyncV3CombinedFeedOrchestrator.js +8 -3
- package/dist/sync/v3/workspaceSyncV3CombinedLocalApply.js +51 -10
- package/dist/sync/v3/workspaceSyncV3CombinedRepairBaseline.d.ts +14 -0
- package/dist/sync/v3/workspaceSyncV3CombinedRepairBaseline.js +49 -25
- package/dist/sync/v3/workspaceSyncV3CombinedRepairMaterialization.d.ts +13 -4
- package/dist/sync/v3/workspaceSyncV3CombinedRepairMaterialization.js +124 -57
- package/dist/sync/v3/workspaceSyncV3CombinedRepairSnapshot.d.ts +20 -0
- package/dist/sync/v3/workspaceSyncV3CombinedRepairSnapshot.js +106 -30
- package/dist/sync/v3/workspaceSyncV3CombinedWireContract.d.ts +4 -1
- package/dist/sync/v3/workspaceSyncV3CombinedWireContract.js +34 -0
- package/dist/sync/v3/workspaceSyncV3CoverageRegistry.js +12 -0
- package/dist/sync/v3/workspaceSyncV3FeedProfile.d.ts +1 -1
- package/dist/sync/v3/workspaceSyncV3LegacyBoundaryAttestation.d.ts +1 -0
- package/dist/sync/v3/workspaceSyncV3LegacyBoundaryAttestation.js +23 -10
- package/dist/sync/v3/workspaceSyncV3NestedTaskApply.d.ts +3 -0
- package/dist/sync/v3/workspaceSyncV3NestedTaskApply.js +64 -13
- package/dist/sync/v3/workspaceSyncV3NestedTaskCodecs.d.ts +9 -0
- package/dist/sync/v3/workspaceSyncV3NestedTaskCodecs.js +26 -0
- package/dist/sync/v3/workspaceSyncV3NestedTaskProjection.d.ts +15 -5
- package/dist/sync/v3/workspaceSyncV3NestedTaskProjection.js +50 -14
- package/dist/sync/v3/workspaceSyncV3NestedTaskRepairSnapshot.d.ts +2 -1
- package/dist/sync/v3/workspaceSyncV3NestedTaskRepairSnapshot.js +11 -3
- package/dist/sync/v3/workspaceSyncV3OperationProtocol.d.ts +5 -0
- package/dist/sync/v3/workspaceSyncV3OperatorDiagnostics.d.ts +7 -0
- package/dist/sync/v3/workspaceSyncV3OperatorDiagnostics.js +55 -9
- package/dist/sync/v3/workspaceSyncV3RepairSnapshotRetentionService.d.ts +17 -0
- package/dist/sync/v3/workspaceSyncV3RepairSnapshotRetentionService.js +64 -0
- package/dist/sync/v3/workspaceSyncV3TaskCommentAudit.js +9 -2
- package/dist/sync/v3/workspaceSyncV3TaskCoverCoverage.d.ts +7 -0
- package/dist/sync/v3/workspaceSyncV3TaskCoverCoverage.js +37 -0
- package/dist/sync/v3/workspaceSyncV3TaskCoverWireContract.d.ts +6 -0
- package/dist/sync/v3/workspaceSyncV3TaskCoverWireContract.js +9 -0
- package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverCoverage.d.ts +7 -0
- package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverCoverage.js +33 -0
- package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverWireContract.d.ts +7 -0
- package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverWireContract.js +8 -0
- package/dist/sync/workspacePullFeed.js +2 -1
- package/dist/sync/workspaceRepair.d.ts +8 -2
- package/dist/sync/workspaceRepair.js +222 -6
- package/dist/sync/workspaceSyncModel.d.ts +21 -0
- package/dist/sync/workspaceSyncModel.js +35 -7
- package/dist/sync/workspaceSyncState.d.ts +1 -0
- package/dist/sync/workspaceSyncV2SnapshotBuilder.d.ts +6 -0
- package/dist/sync/workspaceSyncV2SnapshotBuilder.js +5 -0
- package/dist/types.d.ts +47 -1
- package/dist/types.js +6 -0
- package/dist/ui/assets/AiIdentityRosterCard-OcSz1PkK.js +1 -0
- package/dist/ui/assets/AiProfilesModule-ByhYW5Xi.js +1 -0
- package/dist/ui/assets/AnnotatedAttachmentWorkspace-BTM6nIg_.js +3 -0
- package/dist/ui/assets/AnnotatedAttachmentWorkspace-TzYu7pkG.css +1 -0
- package/dist/ui/assets/{AssetTraySortControl-Kf1pelSy.js → AssetTraySortControl-DabEG8L4.js} +1 -1
- package/dist/ui/assets/{ContextAttachmentManager-B8boOs6Q.js → ContextAttachmentManager-Coa8yVGM.js} +2 -2
- package/dist/ui/assets/{DocumentWorkspace-DXH4XUsB.js → DocumentWorkspace-BB0qhdix.js} +1 -1
- package/dist/ui/assets/{EntityActivityTimeline-BtSTq0ON.js → EntityActivityTimeline-CZ8x4UJE.js} +1 -1
- package/dist/ui/assets/PlanningModule-pRPjR7v5.js +1 -0
- package/dist/ui/assets/PlansPage-D86pZSSl.js +1 -0
- package/dist/ui/assets/TaskContextUpload-BVIkU9yT.js +1 -0
- package/dist/ui/assets/TaskSettings-Cv1mNhv_.js +12 -0
- package/dist/ui/assets/TaskforceAgentsModule-b-8R25cJ.css +1 -0
- package/dist/ui/assets/TaskforceAgentsModule-gmH-PD2q.js +24 -0
- package/dist/ui/assets/{WorkflowManagerModule-DWFspC-o.js → WorkflowManagerModule-DbfnHJ-f.js} +1 -1
- package/dist/ui/assets/index-BZ-hdZSk.css +1 -0
- package/dist/ui/assets/index-CTsDBaef.js +7 -0
- package/dist/ui/assets/{vendor-icons-BkFLXavV.js → vendor-icons-Bsq-mcEn.js} +1 -1
- package/dist/ui/branding/logos/letterhead_dark.png +0 -0
- package/dist/ui/branding/logos/letterhead_light.png +0 -0
- package/dist/ui/branding/logos/signature_dark.png +0 -0
- package/dist/ui/branding/logos/signature_light.png +0 -0
- package/dist/ui/index.html +3 -3
- package/dist/utils/aiProfileDefaultLogo.js +16 -48
- package/dist/utils/httpSetCookie.d.ts +1 -0
- package/dist/utils/httpSetCookie.js +4 -1
- package/dist/utils/localRuntimeUrl.d.ts +1 -0
- package/dist/utils/localRuntimeUrl.js +14 -0
- package/dist/utils/productLogoRegistry.d.ts +2 -0
- package/dist/utils/productLogoRegistry.js +36 -0
- package/dist/utils/syncStatusPresentation.d.ts +4 -0
- package/dist/utils/syncStatusPresentation.js +17 -0
- package/dist/utils/taskActivity.d.ts +3 -2
- package/dist/utils/taskActivity.js +19 -2
- package/dist/utils/taskEditorReconciliation.d.ts +40 -0
- package/dist/utils/taskEditorReconciliation.js +217 -0
- package/dist/utils/taskEvents.d.ts +2 -0
- package/dist/utils/taskNormalization.d.ts +1 -0
- package/dist/utils/taskNormalization.js +39 -0
- package/dist/utils/taskSearch.js +2 -2
- package/dist/utils/uiNotice.d.ts +4 -0
- package/dist/utils/workspaceSyncPresentation.d.ts +1 -1
- package/dist/utils/workspaceSyncPresentation.js +23 -17
- package/package.json +36 -6
- package/dist/ui/assets/AiIdentityRosterCard-MZs7lVED.js +0 -1
- package/dist/ui/assets/AiProfilesModule-C3i0LOxe.js +0 -1
- package/dist/ui/assets/AnnotatedAttachmentWorkspace-CBRZ8rca.css +0 -1
- package/dist/ui/assets/AnnotatedAttachmentWorkspace-DVZk5Tln.js +0 -3
- package/dist/ui/assets/PlanningModule-BPVyEa-f.js +0 -1
- package/dist/ui/assets/PlansPage-ChqgxALc.js +0 -1
- package/dist/ui/assets/TaskContextUpload-CB3ol0sN.js +0 -1
- package/dist/ui/assets/TaskSettings-g4ECKNOz.js +0 -12
- package/dist/ui/assets/TaskforceAgentsModule-BazdUwxZ.js +0 -21
- package/dist/ui/assets/TaskforceAgentsModule-D6IC0S7Q.css +0 -1
- package/dist/ui/assets/index-BUplSsv_.js +0 -7
- package/dist/ui/assets/index-gz2EXuoK.css +0 -1
|
@@ -11,8 +11,16 @@ function nullableStringProperty(description) {
|
|
|
11
11
|
],
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
return {
|
|
14
|
+
function integerProperty(description, minimum, maximum) {
|
|
15
|
+
return {
|
|
16
|
+
type: 'integer',
|
|
17
|
+
description,
|
|
18
|
+
...(minimum === undefined ? {} : { minimum }),
|
|
19
|
+
...(maximum === undefined ? {} : { maximum }),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function integerEnumProperty(description, values) {
|
|
23
|
+
return { type: 'integer', description, enum: values };
|
|
16
24
|
}
|
|
17
25
|
function booleanProperty(description) {
|
|
18
26
|
return { type: 'boolean', description };
|
|
@@ -57,7 +65,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
57
65
|
title: stringProperty('Initiative title.'),
|
|
58
66
|
description: stringProperty('Optional initiative description.'),
|
|
59
67
|
ownerId: stringProperty(`${context.assigneeHint} Call list_assignees to inspect eligible IDs.`),
|
|
60
|
-
order:
|
|
68
|
+
order: integerProperty('Optional non-negative initiative order.', 0),
|
|
61
69
|
},
|
|
62
70
|
required: ['title'],
|
|
63
71
|
},
|
|
@@ -71,7 +79,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
71
79
|
title: stringProperty('Workstream title.'),
|
|
72
80
|
description: stringProperty('Optional workstream description.'),
|
|
73
81
|
ownerId: stringProperty(`${context.assigneeHint} Call list_assignees to inspect eligible IDs.`),
|
|
74
|
-
order:
|
|
82
|
+
order: integerProperty('Optional non-negative workstream order.', 0),
|
|
75
83
|
tasks: {
|
|
76
84
|
type: 'array', maxItems: 50,
|
|
77
85
|
items: {
|
|
@@ -83,8 +91,8 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
83
91
|
assignee: stringProperty(`${context.assigneeHint} Call list_assignees to inspect eligible IDs.`),
|
|
84
92
|
category: stringProperty('Task category.', context.categoryEnum),
|
|
85
93
|
type: stringProperty('Task type.', context.typeEnum),
|
|
86
|
-
priority:
|
|
87
|
-
complexity:
|
|
94
|
+
priority: integerEnumProperty(context.priorityDesc, context.priorityEnum),
|
|
95
|
+
complexity: integerProperty(context.complexityDesc, 1, 5),
|
|
88
96
|
scheduledDate: stringProperty('Optional schedule date (YYYY-MM-DD).'),
|
|
89
97
|
dueDate: stringProperty('Optional due date (YYYY-MM-DD).'),
|
|
90
98
|
},
|
|
@@ -120,22 +128,24 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
120
128
|
status: stringProperty('Filter by status.', ['task', 'on-hold', 'in-progress', 'review', 'done', 'cancelled']),
|
|
121
129
|
openOnly: booleanProperty('When true, only include open tasks (task, on-hold, in-progress, review).'),
|
|
122
130
|
assignee: stringProperty(context.assigneeHint),
|
|
123
|
-
priority:
|
|
131
|
+
priority: integerEnumProperty(context.priorityDesc, context.priorityEnum),
|
|
124
132
|
type: stringProperty('Filter by task type.', context.typeEnum),
|
|
125
133
|
workstreamId: stringProperty('Filter by workstream ID or workstream reference such as WS-123.'),
|
|
126
134
|
sort: stringProperty('Sort field (default: created).', ['priority', 'created', 'updated']),
|
|
127
135
|
order: stringProperty('Sort order (default: desc).', ['asc', 'desc']),
|
|
128
|
-
limit:
|
|
129
|
-
offset:
|
|
136
|
+
limit: integerProperty('Max tasks to return (max 200).', 1, 200),
|
|
137
|
+
offset: integerProperty('Non-negative result offset for pagination (default: 0).', 0),
|
|
130
138
|
},
|
|
131
139
|
},
|
|
132
140
|
}));
|
|
133
141
|
register('search_tasks', (context) => ({
|
|
134
|
-
description: context.describeTool('Search active and archived tasks by keyword, ID, T-* reference, or provisional LT-* reference. Use scope to narrow results. Prefer this over list_tasks when looking for a specific task by name. When results include links, preserve those links when presenting tasks.'),
|
|
142
|
+
description: context.describeTool('Search active and archived tasks by keyword, ID, T-* reference, or provisional LT-* reference. Use scope to narrow results and offset/limit to continue broad searches. Prefer this over list_tasks when looking for a specific task by name. When results include links, preserve those links when presenting tasks.'),
|
|
135
143
|
inputSchema: {
|
|
136
144
|
properties: {
|
|
137
145
|
query: stringProperty('Search term or exact task reference such as T-123 or LT-123.'),
|
|
138
146
|
scope: stringProperty('Search scope (default: all).', ['all', 'active', 'archive']),
|
|
147
|
+
limit: integerProperty('Page size (default 25; max 50).', 1, 50),
|
|
148
|
+
offset: integerProperty('Non-negative result offset (default 0).', 0),
|
|
139
149
|
},
|
|
140
150
|
required: ['query'],
|
|
141
151
|
},
|
|
@@ -179,10 +189,12 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
179
189
|
},
|
|
180
190
|
}));
|
|
181
191
|
register('list_initiatives', (context) => ({
|
|
182
|
-
description: context.describeTool('List or search initiatives for the active workspace. Pass query to search by initiative title, description, ID/reference, owner, or linked workstream title.
|
|
192
|
+
description: context.describeTool('List or search initiatives for the active workspace. Pass query to search by initiative title, description, ID/reference, owner, or linked workstream title. Use offset/limit to continue through compact summaries.'),
|
|
183
193
|
inputSchema: {
|
|
184
194
|
properties: {
|
|
185
195
|
query: stringProperty('Optional search term for initiative title, description, ID/reference such as IN-123, owner, or linked workstream title.'),
|
|
196
|
+
limit: { type: 'integer', minimum: 1, maximum: 100, description: 'Page size (default 25; max 100).' },
|
|
197
|
+
offset: { type: 'integer', minimum: 0, description: 'Non-negative result offset (default 0).' },
|
|
186
198
|
},
|
|
187
199
|
},
|
|
188
200
|
}));
|
|
@@ -205,7 +217,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
205
217
|
title: stringProperty('Initiative title.'),
|
|
206
218
|
description: stringProperty('Optional initiative description.'),
|
|
207
219
|
ownerId: stringProperty(context.assigneeHint),
|
|
208
|
-
order:
|
|
220
|
+
order: integerProperty('Optional non-negative sort order among initiatives.', 0),
|
|
209
221
|
attachments: arrayProperty('Optional attachment descriptors to store on the initiative. Prefer save_initiative_attachment for generated content or files.', {
|
|
210
222
|
type: 'object',
|
|
211
223
|
properties: {
|
|
@@ -231,7 +243,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
231
243
|
title: stringProperty('Updated initiative title.'),
|
|
232
244
|
description: stringProperty('Updated initiative description.'),
|
|
233
245
|
ownerId: stringProperty(context.assigneeHint),
|
|
234
|
-
order:
|
|
246
|
+
order: integerProperty('Optional non-negative sort order among initiatives.', 0),
|
|
235
247
|
attachments: arrayProperty('Replacement attachment descriptors for the initiative. Prefer save_initiative_attachment for generated content or files. Removing managed attachments requires delete_initiative_attachment in the extended profile.', {
|
|
236
248
|
type: 'object',
|
|
237
249
|
properties: {
|
|
@@ -278,10 +290,12 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
278
290
|
},
|
|
279
291
|
}));
|
|
280
292
|
register('list_workstreams', (context) => ({
|
|
281
|
-
description: context.describeTool('List or search workstreams for the active workspace. Pass query to search by workstream title, description, ID/reference, owner, or linked initiative title/reference.
|
|
293
|
+
description: context.describeTool('List or search workstreams for the active workspace. Pass query to search by workstream title, description, ID/reference, owner, or linked initiative title/reference. Use offset/limit to continue through compact summaries.'),
|
|
282
294
|
inputSchema: {
|
|
283
295
|
properties: {
|
|
284
296
|
query: stringProperty('Optional search term for workstream title, description, ID/reference such as WS-123, owner, or linked initiative title/reference.'),
|
|
297
|
+
limit: { type: 'integer', minimum: 1, maximum: 100, description: 'Page size (default 25; max 100).' },
|
|
298
|
+
offset: { type: 'integer', minimum: 0, description: 'Non-negative result offset (default 0).' },
|
|
285
299
|
},
|
|
286
300
|
},
|
|
287
301
|
}));
|
|
@@ -305,7 +319,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
305
319
|
description: stringProperty('Optional workstream description.'),
|
|
306
320
|
ownerId: stringProperty(context.assigneeHint),
|
|
307
321
|
initiativeId: stringProperty('Optional initiative ID or initiative reference such as IN-123.'),
|
|
308
|
-
order:
|
|
322
|
+
order: integerProperty('Optional non-negative sort order among workstreams.', 0),
|
|
309
323
|
attachments: arrayProperty('Optional attachment descriptors to store on the workstream. Prefer save_workstream_attachment for generated content or files.', {
|
|
310
324
|
type: 'object',
|
|
311
325
|
properties: {
|
|
@@ -332,7 +346,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
332
346
|
description: stringProperty('Updated workstream description.'),
|
|
333
347
|
ownerId: stringProperty(context.assigneeHint),
|
|
334
348
|
initiativeId: stringProperty('Optional initiative ID or initiative reference such as IN-123. Pass an empty string to unlink.'),
|
|
335
|
-
order:
|
|
349
|
+
order: integerProperty('Optional non-negative sort order among workstreams.', 0),
|
|
336
350
|
attachments: arrayProperty('Replacement attachment descriptors for the workstream. Prefer save_workstream_attachment for generated content or files. Removing managed attachments requires delete_workstream_attachment in the extended profile.', {
|
|
337
351
|
type: 'object',
|
|
338
352
|
properties: {
|
|
@@ -384,9 +398,9 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
384
398
|
inputSchema: {
|
|
385
399
|
properties: {
|
|
386
400
|
taskId: stringProperty('Task ID or task reference such as T-123.'),
|
|
387
|
-
id: stringProperty('Alias for taskId. Task ID or task reference such as T-123.'),
|
|
388
401
|
workstreamId: nullableStringProperty('Workstream ID or workstream reference such as WS-123. Pass an empty string or null to unlink.'),
|
|
389
402
|
},
|
|
403
|
+
required: ['taskId', 'workstreamId'],
|
|
390
404
|
},
|
|
391
405
|
}));
|
|
392
406
|
register('update_workstream_initiative', (context) => ({
|
|
@@ -394,13 +408,13 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
394
408
|
inputSchema: {
|
|
395
409
|
properties: {
|
|
396
410
|
workstreamId: stringProperty('Workstream ID or workstream reference such as WS-123.'),
|
|
397
|
-
id: stringProperty('Alias for workstreamId. Workstream ID or workstream reference such as WS-123.'),
|
|
398
411
|
initiativeId: nullableStringProperty('Initiative ID or initiative reference such as IN-123. Pass an empty string or null to unlink.'),
|
|
399
412
|
},
|
|
413
|
+
required: ['workstreamId', 'initiativeId'],
|
|
400
414
|
},
|
|
401
415
|
}));
|
|
402
416
|
register('get_task_checklist', (context) => ({
|
|
403
|
-
description: context.describeTool('Read the structured checklist items for one task. Returns stored checklist items
|
|
417
|
+
description: context.describeTool('Read the structured checklist items for one task. Returns stored checklist items plus detailRevision for optimistic concurrency; it does not parse markdown.'),
|
|
404
418
|
inputSchema: {
|
|
405
419
|
properties: {
|
|
406
420
|
taskId: stringProperty('Task ID or task reference such as T-123.'),
|
|
@@ -419,6 +433,24 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
419
433
|
required: ['taskId', 'text'],
|
|
420
434
|
},
|
|
421
435
|
}));
|
|
436
|
+
register('update_task_checklist_item', (context) => ({
|
|
437
|
+
description: context.describeTool('Update one existing checklist item without replacing the full checklist. Read get_task_checklist first and pass expectedDetailRevision to reject concurrent changes. Pass idempotencyKey only when retrying an ambiguous outcome; reuse it only with the exact same task, item, patch, and revision.'),
|
|
438
|
+
inputSchema: {
|
|
439
|
+
properties: {
|
|
440
|
+
taskId: stringProperty('Task ID or task reference such as T-123.'),
|
|
441
|
+
itemId: stringProperty('Stable checklist item ID returned by get_task_checklist.'),
|
|
442
|
+
text: stringProperty('Optional replacement checklist text. Must be descriptive and non-empty.'),
|
|
443
|
+
done: booleanProperty('Optional completion state.'),
|
|
444
|
+
order: integerProperty('Optional non-negative display order. Sibling items are not renumbered.', 0),
|
|
445
|
+
expectedDetailRevision: stringProperty('Optional task detailRevision from get_task_checklist. A stale value rejects the update without mutation.'),
|
|
446
|
+
idempotencyKey: {
|
|
447
|
+
type: 'string', minLength: 1, maxLength: 128,
|
|
448
|
+
description: 'Optional opaque retry key scoped to the active workspace, actor, and tool.',
|
|
449
|
+
},
|
|
450
|
+
},
|
|
451
|
+
required: ['taskId', 'itemId'],
|
|
452
|
+
},
|
|
453
|
+
}));
|
|
422
454
|
register('replace_task_checklist', (context) => ({
|
|
423
455
|
description: context.describeTool('Replace the structured checklist items for one task with a new ordered list. Use this when a user explicitly asks to create, update, or replace a task checklist; do not just draft checklist text.'),
|
|
424
456
|
inputSchema: {
|
|
@@ -430,7 +462,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
430
462
|
id: { type: 'string', description: 'Stable checklist item ID. Reuse it when reordering or updating an existing item.' },
|
|
431
463
|
text: { type: 'string' },
|
|
432
464
|
done: { type: 'boolean' },
|
|
433
|
-
order: { type: '
|
|
465
|
+
order: { type: 'integer', minimum: 0, description: 'Optional zero-based display order.' },
|
|
434
466
|
createdAt: { type: 'string', description: 'Optional canonical ISO creation timestamp.' },
|
|
435
467
|
updatedAt: { type: 'string', description: 'Optional canonical ISO last-change timestamp.' },
|
|
436
468
|
},
|
|
@@ -454,28 +486,17 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
454
486
|
inputSchema: {
|
|
455
487
|
properties: {
|
|
456
488
|
taskId: stringProperty('Task ID or task reference such as T-123.'),
|
|
457
|
-
id: stringProperty('Alias for taskId.'),
|
|
458
489
|
date: nullableStringProperty('YYYY-MM-DD; null or empty with taskId unschedules.'),
|
|
459
|
-
|
|
460
|
-
order: numberProperty('Optional position within that day.'),
|
|
461
|
-
orderInDay: numberProperty('Alias for order.'),
|
|
490
|
+
order: integerProperty('Optional non-negative position within that day.', 0),
|
|
462
491
|
taskIds: arrayProperty('Ordered task IDs or references replacing one day.', { type: 'string' }),
|
|
463
|
-
moves: arrayProperty('Advanced reorder moves using
|
|
492
|
+
moves: arrayProperty('Advanced reorder moves using canonical taskId, date, and order fields.', {
|
|
464
493
|
type: 'object',
|
|
465
494
|
properties: {
|
|
466
|
-
id: { type: 'string' },
|
|
467
495
|
taskId: { type: 'string' },
|
|
468
496
|
date: { type: 'string' },
|
|
469
|
-
|
|
470
|
-
order: { type: 'number' },
|
|
471
|
-
orderInDay: { type: 'number' },
|
|
497
|
+
order: { type: 'integer', minimum: 0 },
|
|
472
498
|
},
|
|
473
|
-
|
|
474
|
-
{ required: ['id', 'date'] },
|
|
475
|
-
{ required: ['id', 'scheduledDate'] },
|
|
476
|
-
{ required: ['taskId', 'date'] },
|
|
477
|
-
{ required: ['taskId', 'scheduledDate'] },
|
|
478
|
-
],
|
|
499
|
+
required: ['taskId', 'date'],
|
|
479
500
|
}),
|
|
480
501
|
},
|
|
481
502
|
},
|
|
@@ -535,9 +556,9 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
535
556
|
workstreamId: stringProperty('Workstream ID or WS-123; use to create the task directly inside a workstream. Search list_workstreams if needed.'),
|
|
536
557
|
category: stringProperty('Task category value.', context.categoryEnum),
|
|
537
558
|
type: stringProperty('Task type value.', context.typeEnum),
|
|
538
|
-
priority:
|
|
559
|
+
priority: integerEnumProperty(context.priorityDesc, context.priorityEnum),
|
|
539
560
|
status: stringProperty('Initial task status.', ['task', 'on-hold', 'in-progress', 'review', 'done', 'cancelled']),
|
|
540
|
-
complexity:
|
|
561
|
+
complexity: integerProperty(context.complexityDesc, 1, 5),
|
|
541
562
|
scheduledDate: stringProperty('Optional scheduled date in YYYY-MM-DD format.'),
|
|
542
563
|
dueDate: stringProperty('Optional due date in YYYY-MM-DD format.'),
|
|
543
564
|
},
|
|
@@ -564,7 +585,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
564
585
|
},
|
|
565
586
|
}));
|
|
566
587
|
register('update_task', (context) => ({
|
|
567
|
-
description: context.describeTool('Update
|
|
588
|
+
description: context.describeTool('Update task fields. Use start_task to begin tracked work. Review transitions are rejected; use finish_task so its required handoff comment, status, and reviewer commit atomically.'),
|
|
568
589
|
inputSchema: {
|
|
569
590
|
properties: {
|
|
570
591
|
id: stringProperty('Task ID or task reference such as T-123.'),
|
|
@@ -574,9 +595,9 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
574
595
|
workstreamId: stringProperty('Updated workstream ID or workstream reference such as WS-123. Pass an empty string to unlink the task. Call list_workstreams with query first if you only know the workstream name.'),
|
|
575
596
|
category: stringProperty('Updated category value.', context.categoryEnum),
|
|
576
597
|
type: stringProperty('Updated task type value.', context.typeEnum),
|
|
577
|
-
priority:
|
|
598
|
+
priority: integerEnumProperty(context.priorityDesc, context.priorityEnum),
|
|
578
599
|
status: stringProperty('Updated task status.', ['task', 'on-hold', 'in-progress', 'review', 'done', 'cancelled']),
|
|
579
|
-
complexity:
|
|
600
|
+
complexity: integerProperty(context.complexityDesc, 1, 5),
|
|
580
601
|
scheduledDate: stringProperty('Updated scheduled date in YYYY-MM-DD format. Pass an empty string to clear.'),
|
|
581
602
|
dueDate: stringProperty('Updated due date in YYYY-MM-DD format. Pass an empty string to clear.'),
|
|
582
603
|
},
|
|
@@ -584,12 +605,13 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
|
|
|
584
605
|
},
|
|
585
606
|
}));
|
|
586
607
|
register('finish_task', (context) => ({
|
|
587
|
-
description: context.describeTool('
|
|
608
|
+
description: context.describeTool('Finish active work as done or review without archiving. Review atomically commits its required handoff comment and reviewer. Pass a human or AI reviewer ID unless an eligible human is already assigned. No Git or PR required.'),
|
|
588
609
|
inputSchema: {
|
|
589
610
|
properties: {
|
|
590
611
|
id: stringProperty('Task ID or task reference such as T-123.'),
|
|
591
612
|
outcome: stringProperty('Completion outcome.', ['review', 'done']),
|
|
592
|
-
comment: stringProperty('
|
|
613
|
+
comment: stringProperty('Required for review and persisted atomically with the transition; optional for done.'),
|
|
614
|
+
reviewer: stringProperty('Reviewer assignee ID. Required for review unless an eligible human is already assigned.'),
|
|
593
615
|
},
|
|
594
616
|
required: ['id', 'outcome'],
|
|
595
617
|
},
|
|
@@ -10,7 +10,44 @@ export function resolveCanonicalMcpToolName(nameRaw) {
|
|
|
10
10
|
export function resolveMcpToolCallCompatibility(nameRaw, argsRaw) {
|
|
11
11
|
const name = resolveCanonicalMcpToolName(nameRaw);
|
|
12
12
|
const args = argsRaw && typeof argsRaw === 'object' && !Array.isArray(argsRaw)
|
|
13
|
-
? argsRaw
|
|
13
|
+
? { ...argsRaw }
|
|
14
14
|
: {};
|
|
15
|
+
const moveAlias = (alias, canonical) => {
|
|
16
|
+
if (args[canonical] === undefined && args[alias] !== undefined)
|
|
17
|
+
args[canonical] = args[alias];
|
|
18
|
+
delete args[alias];
|
|
19
|
+
};
|
|
20
|
+
if (name === 'get_image')
|
|
21
|
+
moveAlias('id', 'imageId');
|
|
22
|
+
if (name === 'get_image_annotations')
|
|
23
|
+
moveAlias('imageAssetId', 'imageId');
|
|
24
|
+
if (name === 'get_task_attachments')
|
|
25
|
+
moveAlias('id', 'taskId');
|
|
26
|
+
if (name === 'update_task_workstream')
|
|
27
|
+
moveAlias('id', 'taskId');
|
|
28
|
+
if (name === 'update_workstream_initiative')
|
|
29
|
+
moveAlias('id', 'workstreamId');
|
|
30
|
+
if (name === 'update_schedule') {
|
|
31
|
+
moveAlias('id', 'taskId');
|
|
32
|
+
moveAlias('scheduledDate', 'date');
|
|
33
|
+
moveAlias('orderInDay', 'order');
|
|
34
|
+
if (Array.isArray(args.moves)) {
|
|
35
|
+
args.moves = args.moves.map((move) => {
|
|
36
|
+
if (!move || typeof move !== 'object' || Array.isArray(move))
|
|
37
|
+
return move;
|
|
38
|
+
const normalized = { ...move };
|
|
39
|
+
const normalizeMoveAlias = (alias, canonical) => {
|
|
40
|
+
if (normalized[canonical] === undefined && normalized[alias] !== undefined) {
|
|
41
|
+
normalized[canonical] = normalized[alias];
|
|
42
|
+
}
|
|
43
|
+
delete normalized[alias];
|
|
44
|
+
};
|
|
45
|
+
normalizeMoveAlias('id', 'taskId');
|
|
46
|
+
normalizeMoveAlias('scheduledDate', 'date');
|
|
47
|
+
normalizeMoveAlias('orderInDay', 'order');
|
|
48
|
+
return normalized;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
15
52
|
return { name, arguments: args };
|
|
16
53
|
}
|
|
@@ -5,11 +5,13 @@ type McpScopedPermission = Extract<McpPermission, {
|
|
|
5
5
|
kind: 'scope';
|
|
6
6
|
}>;
|
|
7
7
|
type McpScope = McpScopedPermission['scope'];
|
|
8
|
+
export type CloudMcpToolProfile = Extract<McpToolProfile, 'default' | 'extended'>;
|
|
8
9
|
export declare function normalizeMcpToolProfile(value: unknown, fallback: McpToolProfile): McpToolProfile;
|
|
9
10
|
export declare function getDefaultMcpToolProfile(runtimeMode: 'local' | 'cloud'): McpToolProfile;
|
|
10
11
|
export declare function isMcpToolVisibleInProfile(name: string, profile: McpToolProfile): boolean;
|
|
11
12
|
export declare function getMcpToolRequiredProfiles(name: string): McpToolProfile[];
|
|
12
13
|
export declare function getMcpToolProfileMembership(profile: McpToolProfile): McpToolName[];
|
|
14
|
+
export declare function getCloudMcpToolProfileMembership(profile: CloudMcpToolProfile, scopes?: readonly McpScope[]): McpToolName[];
|
|
13
15
|
export declare function getManagedAgentMcpRuntimeProfile(_profile?: ManagedAgentMcpToolProfile): McpToolProfile;
|
|
14
16
|
export declare function getManagedAgentMcpToolProfileMembership(profile?: ManagedAgentMcpToolProfile): McpToolName[];
|
|
15
17
|
export declare function getManagedAgentMcpToolScopes(profile?: ManagedAgentMcpToolProfile): McpScope[];
|
package/dist/mcp/toolProfiles.js
CHANGED
|
@@ -14,6 +14,7 @@ const MANAGED_AGENT_ALLOWED_MUTATING_TOOLS = new Set([
|
|
|
14
14
|
'add_comment',
|
|
15
15
|
'add_initiative_comment',
|
|
16
16
|
'add_task_checklist_item',
|
|
17
|
+
'update_task_checklist_item',
|
|
17
18
|
'add_workstream_comment',
|
|
18
19
|
'complete_workflow_step',
|
|
19
20
|
'replace_task_checklist',
|
|
@@ -45,6 +46,15 @@ export function getMcpToolProfileMembership(profile) {
|
|
|
45
46
|
.map(([name]) => name)
|
|
46
47
|
.sort((left, right) => left.localeCompare(right));
|
|
47
48
|
}
|
|
49
|
+
export function getCloudMcpToolProfileMembership(profile, scopes) {
|
|
50
|
+
const allowedScopes = scopes ? new Set(scopes) : null;
|
|
51
|
+
return getMcpToolProfileMembership(profile).filter((name) => {
|
|
52
|
+
const permission = MCP_TOOL_REGISTRY[name].permission;
|
|
53
|
+
if (permission.kind === 'local-only' || permission.kind === 'session-only')
|
|
54
|
+
return false;
|
|
55
|
+
return permission.kind === 'public' || !allowedScopes || allowedScopes.has(permission.scope);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
48
58
|
export function getManagedAgentMcpRuntimeProfile(_profile = MCP_MANAGED_AGENT_DEFAULT_PROFILE) {
|
|
49
59
|
return 'default';
|
|
50
60
|
}
|
|
@@ -51,6 +51,7 @@ export declare const MCP_TOOL_REGISTRY: Readonly<{
|
|
|
51
51
|
readonly update_workstream_initiative: McpToolRegistryEntry;
|
|
52
52
|
readonly get_task_checklist: McpToolRegistryEntry;
|
|
53
53
|
readonly add_task_checklist_item: McpToolRegistryEntry;
|
|
54
|
+
readonly update_task_checklist_item: McpToolRegistryEntry;
|
|
54
55
|
readonly replace_task_checklist: McpToolRegistryEntry;
|
|
55
56
|
readonly get_task_attachments: McpToolRegistryEntry;
|
|
56
57
|
readonly get_workstream_attachments: McpToolRegistryEntry;
|
package/dist/mcp/toolRegistry.js
CHANGED
|
@@ -49,6 +49,7 @@ export const MCP_TOOL_REGISTRY = Object.freeze({
|
|
|
49
49
|
update_workstream_initiative: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
|
|
50
50
|
get_task_checklist: defaultTool({ kind: 'scope', scope: 'tasks:read' }, false),
|
|
51
51
|
add_task_checklist_item: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
|
|
52
|
+
update_task_checklist_item: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
|
|
52
53
|
replace_task_checklist: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
|
|
53
54
|
get_task_attachments: defaultTool({ kind: 'scope', scope: 'tasks:read' }, false),
|
|
54
55
|
get_workstream_attachments: extendedTool({ kind: 'scope', scope: 'tasks:read' }, false),
|
|
@@ -32,16 +32,16 @@ export function registerWorkflowExecutionTools(registerTool, executeTool) {
|
|
|
32
32
|
},
|
|
33
33
|
}));
|
|
34
34
|
register('complete_workflow_step', (context) => ({
|
|
35
|
-
description: context.describeTool('Complete the current workflow step when the active AI profile owns it. If the step requires a task comment, add the comment first and pass its returned commentId as evidence. Advances and reassigns the task automatically.'),
|
|
35
|
+
description: context.describeTool('Complete the current workflow step when the active AI profile owns it. Call get_task_workflow first for the same task and reuse its completionCall arguments exactly; never invent or reuse workflow IDs. If the step requires a task comment, add the comment first and pass its returned commentId as evidence. Advances and reassigns the task automatically.'),
|
|
36
36
|
annotations: { idempotentHint: true },
|
|
37
37
|
inputSchema: {
|
|
38
38
|
additionalProperties: false,
|
|
39
39
|
properties: {
|
|
40
40
|
taskId: { type: 'string', description: 'Task UUID or reference label such as T-123.' },
|
|
41
|
-
executionId: { type: 'string', description: '
|
|
42
|
-
stepId: { type: 'string', description: '
|
|
41
|
+
executionId: { type: 'string', description: 'Exact executionId from the same-task get_task_workflow completionCall; never invent or reuse it.' },
|
|
42
|
+
stepId: { type: 'string', description: 'Exact stepId from the same-task get_task_workflow completionCall; never invent or reuse it.' },
|
|
43
43
|
evidenceCommentId: {
|
|
44
|
-
type: 'string',
|
|
44
|
+
anyOf: [{ type: 'string' }, { type: 'null' }],
|
|
45
45
|
description: 'Exact commentId returned by add_comment when the current step requires task-comment evidence.',
|
|
46
46
|
},
|
|
47
47
|
},
|
|
@@ -44,6 +44,11 @@ export declare function ensureLocalSyncCoordinatorSchema(db: DatabaseAdapter): v
|
|
|
44
44
|
export declare function ensureWorkspaceDocumentsSchema(db: DatabaseAdapter): void;
|
|
45
45
|
export declare function ensureAnnotatedAttachmentSessionsSchema(db: DatabaseAdapter): void;
|
|
46
46
|
export declare function ensureTaskforceAgentsSchema(db: DatabaseAdapter): void;
|
|
47
|
+
export declare function ensureModelProviderConnectionsSchema(db: DatabaseAdapter): void;
|
|
48
|
+
export declare function ensureTaskforceAgentConnectionBindingsSchema(db: DatabaseAdapter): void;
|
|
49
|
+
export declare function ensureGitHubReviewEvidenceInstallationBindingsSchema(db: DatabaseAdapter): void;
|
|
50
|
+
export declare function ensureExecutorPhaseAApprovalReceiptsSchema(db: DatabaseAdapter): void;
|
|
51
|
+
export declare function ensureExecutorPhaseARunAuthorizationsSchema(db: DatabaseAdapter): void;
|
|
47
52
|
export declare function ensureAgentRolesSchema(db: DatabaseAdapter): void;
|
|
48
53
|
export declare function ensureTaskforceAgentSkillsSchema(db: DatabaseAdapter): void;
|
|
49
54
|
export declare function ensureWorkflowSchema(db: DatabaseAdapter): void;
|