@taskforcehq/taskforce 0.3.329 → 0.3.332

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/README.md +7 -2
  2. package/dist/Taskforce.module.css +290 -45
  3. package/dist/components/features/AiProfilesModule.js +3 -5
  4. package/dist/components/features/TaskSettings.js +70 -14
  5. package/dist/components/features/TaskforceAgentsModule.d.ts +1 -2
  6. package/dist/components/features/TaskforceAgentsModule.js +586 -116
  7. package/dist/components/features/agentCapabilities/AgentCapabilitiesPrototype.d.ts +2 -2
  8. package/dist/components/features/agentCapabilities/AgentCapabilitiesPrototype.js +2 -2
  9. package/dist/components/features/agentConnections/AgentConnectionControl.d.ts +15 -0
  10. package/dist/components/features/agentConnections/AgentConnectionControl.js +125 -0
  11. package/dist/components/features/agentConnections/ModelConnectionsPanel.d.ts +18 -0
  12. package/dist/components/features/agentConnections/ModelConnectionsPanel.js +393 -0
  13. package/dist/components/features/agentConnections/modelConnectionsApi.d.ts +65 -0
  14. package/dist/components/features/agentConnections/modelConnectionsApi.js +129 -0
  15. package/dist/components/features/planning/PlanningModule.js +15 -3
  16. package/dist/components/features/planning/planningMetadata.d.ts +10 -0
  17. package/dist/components/features/planning/planningMetadata.js +8 -0
  18. package/dist/components/features/taskforceAgentAssignments/AgentBehaviorAssignments.js +15 -24
  19. package/dist/components/features/taskforceAgentEditorModel.d.ts +2 -1
  20. package/dist/components/features/taskforceAgentEditorModel.js +3 -1
  21. package/dist/components/features/workflowManager/workflowManagerApi.d.ts +1 -1
  22. package/dist/components/features/workflowManager/workflowManagerApi.js +3 -0
  23. package/dist/components/task/TaskWorkflowAssignmentField.js +68 -10
  24. package/dist/components/views/StandaloneLayout.js +62 -27
  25. package/dist/components/views/panels/PlanningDrawer.d.ts +2 -1
  26. package/dist/components/views/panels/PlanningDrawer.js +12 -8
  27. package/dist/components/views/standalone/modals/SyncStatusModal.d.ts +4 -3
  28. package/dist/components/views/standalone/modals/SyncStatusModal.js +33 -38
  29. package/dist/config/envSchema.js +55 -1
  30. package/dist/core/McpTokenService.d.ts +25 -1
  31. package/dist/core/McpTokenService.js +106 -15
  32. package/dist/core/TaskChecklistCommandService.d.ts +27 -0
  33. package/dist/core/TaskChecklistCommandService.js +83 -5
  34. package/dist/core/TaskLifecycleCommandService.d.ts +3 -1
  35. package/dist/core/TaskLifecycleCommandService.js +6 -2
  36. package/dist/core/Taskforce.d.ts +43 -3
  37. package/dist/core/Taskforce.js +158 -7
  38. package/dist/core/types.d.ts +9 -0
  39. package/dist/documentReviews/DocumentReviewCommentStore.d.ts +2 -0
  40. package/dist/documentReviews/DocumentReviewCommentStore.js +28 -9
  41. package/dist/documentReviews/commandService.d.ts +2 -1
  42. package/dist/documentReviews/commandService.js +6 -3
  43. package/dist/hooks/sync/orchestratorShared.d.ts +1 -0
  44. package/dist/hooks/sync/orchestratorShared.js +2 -0
  45. package/dist/hooks/sync/useLocalSyncCoordinatorSnapshot.d.ts +3 -0
  46. package/dist/hooks/sync/useLocalSyncCoordinatorSnapshot.js +85 -9
  47. package/dist/hooks/sync/useSyncStatusControls.d.ts +4 -1
  48. package/dist/hooks/sync/useSyncStatusControls.js +47 -11
  49. package/dist/hooks/useSyncOrchestrator.d.ts +3 -0
  50. package/dist/hooks/useSyncOrchestrator.js +111 -2
  51. package/dist/hooks/useTaskData.d.ts +31 -1
  52. package/dist/hooks/useTaskData.js +29 -7
  53. package/dist/hooks/useTaskMutations.d.ts +3 -1
  54. package/dist/hooks/useTaskMutations.js +46 -12
  55. package/dist/hooks/useTaskforce.d.ts +2 -0
  56. package/dist/hooks/useTaskforce.js +11 -2
  57. package/dist/mcp/clientRegistry.d.ts +2 -2
  58. package/dist/mcp/clientRegistry.js +1 -1
  59. package/dist/mcp/documentAssetRegistrar.js +9 -6
  60. package/dist/mcp/durableTaskMutationRouter.d.ts +4 -1
  61. package/dist/mcp/durableTaskMutationRouter.js +10 -0
  62. package/dist/mcp/durableTaskRelationshipMutationRouter.js +4 -0
  63. package/dist/mcp/httpProtocolRouting.d.ts +11 -0
  64. package/dist/mcp/httpProtocolRouting.js +22 -0
  65. package/dist/mcp/localCliHealth.d.ts +2 -2
  66. package/dist/mcp/localCliHealth.js +2 -2
  67. package/dist/mcp/localServiceProxy.d.ts +1 -0
  68. package/dist/mcp/localServiceProxy.js +530 -68
  69. package/dist/mcp/planningAttachmentCommandAdapter.d.ts +3 -1
  70. package/dist/mcp/planningAttachmentCommandAdapter.js +20 -2
  71. package/dist/mcp/runtime.d.ts +54 -79
  72. package/dist/mcp/runtime.js +408 -102
  73. package/dist/mcp/taskPlanningRegistrar.js +25 -6
  74. package/dist/mcp/toolProfiles.d.ts +2 -0
  75. package/dist/mcp/toolProfiles.js +11 -0
  76. package/dist/mcp/toolRegistry.d.ts +1 -0
  77. package/dist/mcp/toolRegistry.js +9 -8
  78. package/dist/mcp/workflowExecutionRegistrar.js +4 -4
  79. package/dist/migrations/taskSchemaMigrations.d.ts +5 -0
  80. package/dist/migrations/taskSchemaMigrations.js +415 -0
  81. package/dist/runtime/appGates.d.ts +2 -1
  82. package/dist/runtime/appGates.js +7 -0
  83. package/dist/server/buildInfo.d.ts +1 -0
  84. package/dist/server/buildInfo.js +5 -1
  85. package/dist/server/cloudMcpCapacityTelemetry.d.ts +68 -0
  86. package/dist/server/cloudMcpCapacityTelemetry.js +221 -0
  87. package/dist/server/index.d.ts +3 -0
  88. package/dist/server/index.js +108 -11
  89. package/dist/server/localDatabaseIdentity.js +4 -1
  90. package/dist/server/localServiceLease.js +2 -1
  91. package/dist/server/localServiceSessions.d.ts +14 -17
  92. package/dist/server/localServiceSessions.js +308 -94
  93. package/dist/server/localWorkspaceSyncServerRuntime.js +25 -19
  94. package/dist/server/routes/admin.d.ts +4 -0
  95. package/dist/server/routes/admin.js +126 -5
  96. package/dist/server/routes/agents.d.ts +7 -0
  97. package/dist/server/routes/agents.js +277 -24
  98. package/dist/server/routes/billing.js +5 -1
  99. package/dist/server/routes/durableTaskHttpRouters.d.ts +2 -0
  100. package/dist/server/routes/executorPhaseAApprovals.d.ts +19 -0
  101. package/dist/server/routes/executorPhaseAApprovals.js +140 -0
  102. package/dist/server/routes/executorPhaseAIssuerRedemptions.d.ts +11 -0
  103. package/dist/server/routes/executorPhaseAIssuerRedemptions.js +24 -0
  104. package/dist/server/routes/githubReviewEvidence.d.ts +19 -0
  105. package/dist/server/routes/githubReviewEvidence.js +116 -0
  106. package/dist/server/routes/localService.d.ts +15 -4
  107. package/dist/server/routes/localService.js +136 -40
  108. package/dist/server/routes/modelConnections.d.ts +24 -0
  109. package/dist/server/routes/modelConnections.js +205 -0
  110. package/dist/server/routes/shared.d.ts +22 -0
  111. package/dist/server/routes/shared.js +298 -182
  112. package/dist/server/routes/sync.js +1 -0
  113. package/dist/server/routes/syncAuxRoutes.js +5 -1
  114. package/dist/server/routes/syncPushRoutes.d.ts +1 -0
  115. package/dist/server/routes/syncPushRoutes.js +1 -0
  116. package/dist/server/routes/syncV3FeedRoutes.js +10 -1
  117. package/dist/server/routes/syncV3OperationRoutes.js +35 -9
  118. package/dist/server/routes/tasks.js +21 -2
  119. package/dist/server/routes/workflows.js +9 -1
  120. package/dist/server/routes.js +59 -0
  121. package/dist/service/localServiceCli.d.ts +2 -2
  122. package/dist/service/localServiceCli.js +4 -3
  123. package/dist/services/codexAppServerModelGateway.d.ts +54 -5
  124. package/dist/services/codexAppServerModelGateway.js +246 -21
  125. package/dist/services/codexDeviceCodeLoginManager.d.ts +39 -0
  126. package/dist/services/codexDeviceCodeLoginManager.js +265 -0
  127. package/dist/services/codexModelProviderConnectionLifecycle.d.ts +8 -0
  128. package/dist/services/codexModelProviderConnectionLifecycle.js +73 -0
  129. package/dist/services/executorPhaseAApprovalRuntime.d.ts +14 -0
  130. package/dist/services/executorPhaseAApprovalRuntime.js +24 -0
  131. package/dist/services/executorPhaseAApprovalService.d.ts +40 -0
  132. package/dist/services/executorPhaseAApprovalService.js +609 -0
  133. package/dist/services/executorPhaseADriftEvaluator.d.ts +78 -0
  134. package/dist/services/executorPhaseADriftEvaluator.js +93 -0
  135. package/dist/services/executorPhaseAIssuerCore.d.ts +139 -0
  136. package/dist/services/executorPhaseAIssuerCore.js +402 -0
  137. package/dist/services/executorPhaseAIssuerRedemptionService.d.ts +34 -0
  138. package/dist/services/executorPhaseAIssuerRedemptionService.js +158 -0
  139. package/dist/services/githubReviewEvidenceRuntime.d.ts +14 -0
  140. package/dist/services/githubReviewEvidenceRuntime.js +30 -0
  141. package/dist/services/githubReviewEvidenceService.d.ts +93 -0
  142. package/dist/services/githubReviewEvidenceService.js +336 -0
  143. package/dist/services/modelGateway.d.ts +7 -0
  144. package/dist/services/modelProviderConnectionService.d.ts +71 -0
  145. package/dist/services/modelProviderConnectionService.js +279 -0
  146. package/dist/services/modelProviderCredentialHome.d.ts +32 -0
  147. package/dist/services/modelProviderCredentialHome.js +271 -0
  148. package/dist/services/ownerScopedModelConnectionGateway.d.ts +12 -0
  149. package/dist/services/ownerScopedModelConnectionGateway.js +30 -0
  150. package/dist/services/taskforceAgentConnectionBindingService.d.ts +66 -0
  151. package/dist/services/taskforceAgentConnectionBindingService.js +185 -0
  152. package/dist/services/taskforceAgentMcpBridge.d.ts +2 -2
  153. package/dist/services/taskforceAgentMcpBridge.js +42 -29
  154. package/dist/shared/adminEdgeProxy.d.ts +5 -0
  155. package/dist/shared/adminEdgeProxy.js +94 -0
  156. package/dist/shared/adminProxySessionCookies.d.ts +16 -0
  157. package/dist/shared/adminProxySessionCookies.js +86 -0
  158. package/dist/shared/aiProfileColors.d.ts +31 -1
  159. package/dist/shared/aiProfileColors.js +14 -6
  160. package/dist/shared/executorPhaseAApprovalGoldenVector.json +269 -0
  161. package/dist/shared/executorPhaseAApprovalReceipt.d.ts +112 -0
  162. package/dist/shared/executorPhaseAApprovalReceipt.js +58 -0
  163. package/dist/shared/executorPhaseAApprovalTrustPolicy.json +10 -0
  164. package/dist/shared/executorPhaseADriftContracts.d.ts +37 -0
  165. package/dist/shared/executorPhaseADriftContracts.js +63 -0
  166. package/dist/shared/executorPhaseAIssuerContracts.d.ts +75 -0
  167. package/dist/shared/executorPhaseAIssuerContracts.js +90 -0
  168. package/dist/shared/executorPhaseARunAuthorization.d.ts +120 -0
  169. package/dist/shared/executorPhaseARunAuthorization.js +232 -0
  170. package/dist/shared/executorPhaseASchemaValidation.d.ts +7 -0
  171. package/dist/shared/executorPhaseASchemaValidation.js +53 -0
  172. package/dist/shared/executorPhaseASchemas/approval-receipt.schema.json +106 -0
  173. package/dist/shared/executorPhaseASchemas/drift-attestation.schema.json +54 -0
  174. package/dist/shared/executorPhaseASchemas/drift-request.schema.json +47 -0
  175. package/dist/shared/executorPhaseASchemas/foundation-manifest.schema.json +29 -0
  176. package/dist/shared/executorPhaseASchemas/issuer-audit-record.schema.json +24 -0
  177. package/dist/shared/executorPhaseASchemas/issuer-proof.schema.json +43 -0
  178. package/dist/shared/executorPhaseASchemas/issuer-redemption-request.schema.json +18 -0
  179. package/dist/shared/executorPhaseASchemas/issuer-redemption-response.schema.json +39 -0
  180. package/dist/shared/executorPhaseASchemas/logical-envelope.schema.json +149 -0
  181. package/dist/shared/executorPhaseASchemas/preflight-report.schema.json +216 -0
  182. package/dist/shared/executorPhaseASchemas/run-capability.schema.json +111 -0
  183. package/dist/shared/executorPhaseASchemas/sender-proof.schema.json +37 -0
  184. package/dist/shared/executorPhaseASchemas/workload-grant.schema.json +68 -0
  185. package/dist/shared/executorPhaseASchemas/workload-jwt-claims.schema.json +67 -0
  186. package/dist/shared/executorPhaseATiming.d.ts +1 -0
  187. package/dist/shared/executorPhaseATiming.js +1 -0
  188. package/dist/shared/planningIdentity.js +1 -1
  189. package/dist/shared/productLogoKeys.d.ts +2 -0
  190. package/dist/shared/productLogoKeys.js +18 -0
  191. package/dist/shared/taskforceAgentDefinition.d.ts +0 -1
  192. package/dist/shared/taskforceAgentDefinition.js +6 -9
  193. package/dist/shared/taskforceAgentModels.js +7 -3
  194. package/dist/shared/userFeatureGrants.d.ts +4 -0
  195. package/dist/shared/userFeatureGrants.js +7 -0
  196. package/dist/storage/executorPhaseAApprovalReceiptStore.d.ts +37 -0
  197. package/dist/storage/executorPhaseAApprovalReceiptStore.js +81 -0
  198. package/dist/storage/executorPhaseARunAuthorizationStore.d.ts +103 -0
  199. package/dist/storage/executorPhaseARunAuthorizationStore.js +492 -0
  200. package/dist/storage/githubReviewEvidenceInstallationStore.d.ts +26 -0
  201. package/dist/storage/githubReviewEvidenceInstallationStore.js +89 -0
  202. package/dist/storage/modelProviderConnectionStore.d.ts +99 -0
  203. package/dist/storage/modelProviderConnectionStore.js +446 -0
  204. package/dist/storage/postgresAdapter.d.ts +4 -0
  205. package/dist/storage/postgresAdapter.js +14 -1
  206. package/dist/storage/postgresRequestDiagnostics.d.ts +9 -1
  207. package/dist/storage/postgresRequestDiagnostics.js +15 -2
  208. package/dist/storage/postgresWorker.js +20 -2
  209. package/dist/storage/postgresWorkerProtocol.d.ts +7 -0
  210. package/dist/storage/taskforceAgentConnectionBindingStore.d.ts +31 -0
  211. package/dist/storage/taskforceAgentConnectionBindingStore.js +84 -0
  212. package/dist/storage/workflowStore.d.ts +2 -0
  213. package/dist/storage/workflowStore.js +39 -2
  214. package/dist/sync/cloudSyncApi.js +4 -2
  215. package/dist/sync/collaborationSyncState.js +5 -0
  216. package/dist/sync/coordinator/localSyncExecutionPermitStore.js +60 -29
  217. package/dist/sync/coordinator/localWorkspaceSyncPendingV2PushProgress.d.ts +10 -0
  218. package/dist/sync/coordinator/localWorkspaceSyncPendingV2PushProgress.js +29 -0
  219. package/dist/sync/coordinator/localWorkspaceSyncRunner.d.ts +3 -1
  220. package/dist/sync/coordinator/localWorkspaceSyncRunner.js +18 -0
  221. package/dist/sync/coordinator/localWorkspaceSyncRunnerState.d.ts +15 -1
  222. package/dist/sync/coordinator/localWorkspaceSyncRunnerState.js +99 -2
  223. package/dist/sync/coordinator/workspaceSyncCredentialBroker.d.ts +1 -0
  224. package/dist/sync/coordinator/workspaceSyncCredentialBroker.js +33 -4
  225. package/dist/sync/engine/workspaceSyncContentLifecycleAdapter.d.ts +2 -1
  226. package/dist/sync/engine/workspaceSyncContentVersionStore.d.ts +38 -0
  227. package/dist/sync/engine/workspaceSyncContentVersionStore.js +50 -1
  228. package/dist/sync/engine/workspaceSyncEngineLifecyclePolicy.js +6 -6
  229. package/dist/sync/engine/workspaceSyncEnginePushCompletion.d.ts +14 -0
  230. package/dist/sync/engine/workspaceSyncEnginePushCompletion.js +84 -0
  231. package/dist/sync/engine/workspaceSyncEngineRecovery.js +1 -0
  232. package/dist/sync/engine/workspaceSyncEngineRuntime.d.ts +1 -0
  233. package/dist/sync/engine/workspaceSyncEngineRuntime.js +1 -0
  234. package/dist/sync/engine/workspaceSyncEngineServerRunnerOperations.js +112 -38
  235. package/dist/sync/engine/workspaceSyncEngineServerSnapshotReader.js +6 -0
  236. package/dist/sync/engine/workspaceSyncEngineTransfers.js +3 -1
  237. package/dist/sync/engine/workspaceSyncV2ChangeDispatcher.d.ts +1 -0
  238. package/dist/sync/engine/workspaceSyncV2ChangeDispatcher.js +31 -0
  239. package/dist/sync/syncApplyHandlers.d.ts +3 -0
  240. package/dist/sync/syncApplyHandlers.js +81 -15
  241. package/dist/sync/syncService.d.ts +15 -0
  242. package/dist/sync/syncService.js +83 -18
  243. package/dist/sync/taskforceAgentSyncAuthorization.d.ts +16 -0
  244. package/dist/sync/taskforceAgentSyncAuthorization.js +20 -0
  245. package/dist/sync/v3/combinedFeedCapability.js +4 -0
  246. package/dist/sync/v3/durableInitiativeMutationRouter.js +18 -10
  247. package/dist/sync/v3/durableOperationReplay.d.ts +14 -0
  248. package/dist/sync/v3/durableOperationReplay.js +18 -0
  249. package/dist/sync/v3/durableTaskAttachmentLinksMutationRouter.js +3 -0
  250. package/dist/sync/v3/durableTaskChecklistMutationRouter.d.ts +2 -1
  251. package/dist/sync/v3/durableTaskChecklistMutationRouter.js +58 -15
  252. package/dist/sync/v3/durableTaskCommentMutationRouter.js +3 -0
  253. package/dist/sync/v3/durableTaskHttpRootMutationRouter.d.ts +1 -1
  254. package/dist/sync/v3/durableTaskHttpRootMutationRouter.js +10 -0
  255. package/dist/sync/v3/durableTaxonomyMutationRouter.js +5 -0
  256. package/dist/sync/v3/durableWorkflowRuntimeMutationRouter.d.ts +18 -7
  257. package/dist/sync/v3/durableWorkflowRuntimeMutationRouter.js +89 -23
  258. package/dist/sync/v3/durableWorkstreamMutationRouter.js +18 -10
  259. package/dist/sync/v3/durableWorkstreamTaskOrderMutationRouter.js +16 -5
  260. package/dist/sync/v3/localOutboxDispatchRuntime.js +2 -2
  261. package/dist/sync/v3/localOutboxRecoveryPreparationService.js +8 -2
  262. package/dist/sync/v3/localTaskChecklistOutboxHandler.js +16 -2
  263. package/dist/sync/v3/localTaskChecklistOutboxService.d.ts +4 -0
  264. package/dist/sync/v3/localTaskChecklistOutboxService.js +14 -1
  265. package/dist/sync/v3/localTaskCreateOutboxService.d.ts +3 -1
  266. package/dist/sync/v3/localTaskCreateOutboxService.js +6 -1
  267. package/dist/sync/v3/localTaskDeleteOutboxService.js +1 -0
  268. package/dist/sync/v3/localTaskLifecycleOutboxService.d.ts +2 -1
  269. package/dist/sync/v3/localTaskLifecycleOutboxService.js +5 -1
  270. package/dist/sync/v3/localTaskMetadataOutboxService.d.ts +2 -1
  271. package/dist/sync/v3/localTaskMetadataOutboxService.js +6 -2
  272. package/dist/sync/v3/localTaskStatusOutboxService.d.ts +10 -1
  273. package/dist/sync/v3/localTaskStatusOutboxService.js +238 -16
  274. package/dist/sync/v3/syncDurabilityStore.d.ts +36 -1
  275. package/dist/sync/v3/syncDurabilityStore.js +202 -8
  276. package/dist/sync/v3/taskChecklistMutationService.d.ts +11 -0
  277. package/dist/sync/v3/taskChecklistMutationService.js +44 -1
  278. package/dist/sync/v3/taskStatusMutationService.d.ts +29 -1
  279. package/dist/sync/v3/taskStatusMutationService.js +119 -3
  280. package/dist/sync/v3/workflowAssignmentSync.d.ts +5 -0
  281. package/dist/sync/v3/workflowAssignmentSync.js +27 -0
  282. package/dist/sync/v3/workflowRuntimeMutationService.d.ts +5 -0
  283. package/dist/sync/v3/workflowRuntimeMutationService.js +124 -71
  284. package/dist/sync/v3/workspaceSyncJournalReader.js +1 -1
  285. package/dist/sync/v3/workspaceSyncOperationRetentionService.d.ts +16 -0
  286. package/dist/sync/v3/workspaceSyncOperationRetentionService.js +83 -0
  287. package/dist/sync/v3/workspaceSyncV3CloudOperationHandler.d.ts +1 -0
  288. package/dist/sync/v3/workspaceSyncV3CloudOperationHandler.js +9 -2
  289. package/dist/sync/v3/workspaceSyncV3CombinedLocalApply.js +25 -3
  290. package/dist/sync/v3/workspaceSyncV3CombinedRepairBaseline.d.ts +7 -0
  291. package/dist/sync/v3/workspaceSyncV3CombinedRepairBaseline.js +44 -32
  292. package/dist/sync/v3/workspaceSyncV3CombinedRepairMaterialization.d.ts +9 -5
  293. package/dist/sync/v3/workspaceSyncV3CombinedRepairMaterialization.js +54 -38
  294. package/dist/sync/v3/workspaceSyncV3CombinedRepairSnapshot.d.ts +10 -0
  295. package/dist/sync/v3/workspaceSyncV3CombinedRepairSnapshot.js +70 -31
  296. package/dist/sync/v3/workspaceSyncV3CombinedWireContract.d.ts +2 -1
  297. package/dist/sync/v3/workspaceSyncV3CombinedWireContract.js +16 -0
  298. package/dist/sync/v3/workspaceSyncV3CoverageRegistry.js +6 -0
  299. package/dist/sync/v3/workspaceSyncV3Feed.d.ts +1 -0
  300. package/dist/sync/v3/workspaceSyncV3Feed.js +6 -1
  301. package/dist/sync/v3/workspaceSyncV3NestedTaskProjection.d.ts +2 -0
  302. package/dist/sync/v3/workspaceSyncV3NestedTaskProjection.js +49 -18
  303. package/dist/sync/v3/workspaceSyncV3OperationProtocol.d.ts +3 -0
  304. package/dist/sync/v3/workspaceSyncV3OperatorDiagnostics.d.ts +5 -0
  305. package/dist/sync/v3/workspaceSyncV3OperatorDiagnostics.js +36 -2
  306. package/dist/sync/v3/workspaceSyncV3RepairSnapshotRetentionService.d.ts +17 -0
  307. package/dist/sync/v3/workspaceSyncV3RepairSnapshotRetentionService.js +64 -0
  308. package/dist/sync/v3/workspaceSyncV3WorkflowRuntimeApply.d.ts +1 -0
  309. package/dist/sync/v3/workspaceSyncV3WorkflowRuntimeApply.js +50 -5
  310. package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverCoverage.d.ts +7 -0
  311. package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverCoverage.js +33 -0
  312. package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverWireContract.d.ts +7 -0
  313. package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverWireContract.js +8 -0
  314. package/dist/sync/workspaceRepair.d.ts +5 -2
  315. package/dist/sync/workspaceRepair.js +161 -6
  316. package/dist/sync/workspaceSyncModel.d.ts +21 -0
  317. package/dist/sync/workspaceSyncModel.js +35 -7
  318. package/dist/sync/workspaceSyncState.d.ts +1 -0
  319. package/dist/sync/workspaceSyncV2SnapshotBuilder.d.ts +6 -0
  320. package/dist/sync/workspaceSyncV2SnapshotBuilder.js +5 -0
  321. package/dist/ui/assets/AiIdentityRosterCard-CDMPtnbC.js +1 -0
  322. package/dist/ui/assets/AiProfilesModule-Cww85C4E.js +1 -0
  323. package/dist/ui/assets/{AnnotatedAttachmentWorkspace-B68Wg-RV.js → AnnotatedAttachmentWorkspace-Dt9TKYSH.js} +1 -1
  324. package/dist/ui/assets/{AssetTraySortControl-C8Rztyal.js → AssetTraySortControl-CKgapnxu.js} +1 -1
  325. package/dist/ui/assets/{ContextAttachmentManager-Cj3c7X9y.js → ContextAttachmentManager-T-cEVcOZ.js} +2 -2
  326. package/dist/ui/assets/{DocumentWorkspace-B5uvzems.js → DocumentWorkspace-HD4MUjAZ.js} +1 -1
  327. package/dist/ui/assets/{EntityActivityTimeline-BVFvCB5R.js → EntityActivityTimeline-_V0zfMuh.js} +1 -1
  328. package/dist/ui/assets/PlanningModule-mTkBygsB.js +1 -0
  329. package/dist/ui/assets/{PlansPage-AY4cGWco.js → PlansPage-Btiq06VO.js} +1 -1
  330. package/dist/ui/assets/{TaskContextUpload-DZxTVesW.js → TaskContextUpload-C00NVUpn.js} +1 -1
  331. package/dist/ui/assets/TaskSettings-Cp-L-4xh.js +12 -0
  332. package/dist/ui/assets/TaskforceAgentsModule-Coq9-PUp.js +24 -0
  333. package/dist/ui/assets/TaskforceAgentsModule-b-8R25cJ.css +1 -0
  334. package/dist/ui/assets/{WorkflowManagerModule-DEr5di_r.js → WorkflowManagerModule-CuqRzMmM.js} +1 -1
  335. package/dist/ui/assets/index-BZ-hdZSk.css +1 -0
  336. package/dist/ui/assets/index-DSQINwt9.js +7 -0
  337. package/dist/ui/assets/{vendor-icons-D9Lpw-j4.js → vendor-icons-Bsq-mcEn.js} +1 -1
  338. package/dist/ui/branding/logos/letterhead_dark.png +0 -0
  339. package/dist/ui/branding/logos/letterhead_light.png +0 -0
  340. package/dist/ui/branding/logos/signature_dark.png +0 -0
  341. package/dist/ui/branding/logos/signature_light.png +0 -0
  342. package/dist/ui/index.html +3 -3
  343. package/dist/utils/aiProfileDefaultLogo.js +16 -48
  344. package/dist/utils/httpSetCookie.d.ts +1 -0
  345. package/dist/utils/httpSetCookie.js +4 -1
  346. package/dist/utils/localRuntimeUrl.d.ts +1 -0
  347. package/dist/utils/localRuntimeUrl.js +14 -0
  348. package/dist/utils/productLogoRegistry.d.ts +2 -0
  349. package/dist/utils/productLogoRegistry.js +36 -0
  350. package/dist/utils/syncStatusPresentation.d.ts +4 -0
  351. package/dist/utils/syncStatusPresentation.js +17 -0
  352. package/dist/utils/taskEvents.d.ts +2 -0
  353. package/dist/utils/workspaceSyncPresentation.d.ts +1 -1
  354. package/dist/utils/workspaceSyncPresentation.js +23 -17
  355. package/package.json +24 -4
  356. package/dist/ui/assets/AiIdentityRosterCard-BZM4aQnM.js +0 -1
  357. package/dist/ui/assets/AiProfilesModule-BbAEWtHH.js +0 -1
  358. package/dist/ui/assets/PlanningModule-B5DWQOGz.js +0 -1
  359. package/dist/ui/assets/TaskSettings-BeWAuyZj.js +0 -12
  360. package/dist/ui/assets/TaskforceAgentsModule-BifCYtjR.js +0 -21
  361. package/dist/ui/assets/TaskforceAgentsModule-D6IC0S7Q.css +0 -1
  362. package/dist/ui/assets/index-I5zhdtgt.js +0 -7
  363. package/dist/ui/assets/index-VRFsx3wz.css +0 -1
@@ -414,7 +414,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
414
414
  },
415
415
  }));
416
416
  register('get_task_checklist', (context) => ({
417
- description: context.describeTool('Read the structured checklist items for one task. Returns stored checklist items, not markdown parsing.'),
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.'),
418
418
  inputSchema: {
419
419
  properties: {
420
420
  taskId: stringProperty('Task ID or task reference such as T-123.'),
@@ -433,6 +433,24 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
433
433
  required: ['taskId', 'text'],
434
434
  },
435
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
+ }));
436
454
  register('replace_task_checklist', (context) => ({
437
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.'),
438
456
  inputSchema: {
@@ -567,7 +585,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
567
585
  },
568
586
  }));
569
587
  register('update_task', (context) => ({
570
- description: context.describeTool('Update an existing task. Current taxonomy values are included in this tool schema; call get_config only for richer metadata or after a validation mismatch. Use start_task when beginning active work on a tracked task, and prefer finish_task for the final completion or review handoff.'),
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.'),
571
589
  inputSchema: {
572
590
  properties: {
573
591
  id: stringProperty('Task ID or task reference such as T-123.'),
@@ -587,18 +605,19 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
587
605
  },
588
606
  }));
589
607
  register('finish_task', (context) => ({
590
- description: context.describeTool('Default end-of-task handoff. Use outcome=\'done\' for completed work or outcome=\'review\' for validation. Both remain active and unarchived; use archive_task for history. Archived tasks require reopen_task first.'),
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.'),
591
609
  inputSchema: {
592
610
  properties: {
593
611
  id: stringProperty('Task ID or task reference such as T-123.'),
594
612
  outcome: stringProperty('Completion outcome.', ['review', 'done']),
595
- comment: stringProperty('Optional completion note returned in the handoff response.'),
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.'),
596
615
  },
597
616
  required: ['id', 'outcome'],
598
617
  },
599
618
  }));
600
619
  register('archive_task', (context) => ({
601
- description: context.describeTool('Move a task to history by archiving it. Use status=\'done\' for completed work or status=\'cancelled\' for abandoned work. active tasks may still use status=done for final lookover without being archived.'),
620
+ description: context.describeTool('Move a task to history by archiving it. Use status=\'done\' for completed work or status=\'cancelled\' for abandoned work. Returns compact task and archive state so callers can verify the final status and isArchived=true.'),
602
621
  inputSchema: {
603
622
  properties: {
604
623
  id: stringProperty('Task ID or task reference such as T-123.'),
@@ -609,7 +628,7 @@ export function registerTaskPlanningTools(registerTool, executeTool) {
609
628
  },
610
629
  }));
611
630
  register('unarchive_task', (context) => ({
612
- description: context.describeTool('Restore an archived task to the active task list.'),
631
+ description: context.describeTool('Restore an archived task to the active task list. Returns compact task and unarchive state so callers can verify isArchived=false.'),
613
632
  inputSchema: {
614
633
  properties: {
615
634
  id: stringProperty('Task ID or task reference such as T-123.'),
@@ -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[];
@@ -14,9 +14,11 @@ 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',
21
+ 'review_document',
20
22
  ]);
21
23
  export function normalizeMcpToolProfile(value, fallback) {
22
24
  const normalized = typeof value === 'string' ? value.trim().toLowerCase() : '';
@@ -45,6 +47,15 @@ export function getMcpToolProfileMembership(profile) {
45
47
  .map(([name]) => name)
46
48
  .sort((left, right) => left.localeCompare(right));
47
49
  }
50
+ export function getCloudMcpToolProfileMembership(profile, scopes) {
51
+ const allowedScopes = scopes ? new Set(scopes) : null;
52
+ return getMcpToolProfileMembership(profile).filter((name) => {
53
+ const permission = MCP_TOOL_REGISTRY[name].permission;
54
+ if (permission.kind === 'local-only' || permission.kind === 'session-only')
55
+ return false;
56
+ return permission.kind === 'public' || !allowedScopes || allowedScopes.has(permission.scope);
57
+ });
58
+ }
48
59
  export function getManagedAgentMcpRuntimeProfile(_profile = MCP_MANAGED_AGENT_DEFAULT_PROFILE) {
49
60
  return 'default';
50
61
  }
@@ -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;
@@ -45,10 +45,11 @@ export const MCP_TOOL_REGISTRY = Object.freeze({
45
45
  add_workstream_comment: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
46
46
  archive_workstream: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
47
47
  unarchive_workstream: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
48
- update_task_workstream: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
49
- update_workstream_initiative: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
48
+ update_task_workstream: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true, { name: 'update_task' }),
49
+ update_workstream_initiative: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true, { name: 'update_workstream' }),
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),
@@ -57,19 +58,19 @@ export const MCP_TOOL_REGISTRY = Object.freeze({
57
58
  get_initiative_attachments: extendedTool({ kind: 'scope', scope: 'tasks:read' }, false),
58
59
  save_initiative_attachment: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
59
60
  delete_initiative_attachment: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
60
- search_images: defaultTool({ kind: 'scope', scope: 'tasks:read' }, false),
61
- get_image: defaultTool({ kind: 'scope', scope: 'tasks:read' }, false),
61
+ search_images: extendedTool({ kind: 'scope', scope: 'tasks:read' }, false),
62
+ get_image: extendedTool({ kind: 'scope', scope: 'tasks:read' }, false),
62
63
  search_documents: defaultTool({ kind: 'scope', scope: 'tasks:read' }, false),
63
64
  get_document: defaultTool({ kind: 'scope', scope: 'tasks:read' }, false),
64
65
  update_document: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
65
66
  link_document: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
66
67
  rehome_document: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
67
68
  unlink_document: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
68
- get_image_annotations: defaultTool({ kind: 'scope', scope: 'tasks:read' }, false),
69
+ get_image_annotations: extendedTool({ kind: 'scope', scope: 'tasks:read' }, false),
69
70
  create_annotated_attachment_session: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
70
71
  update_annotated_attachment_session: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
71
72
  delete_annotated_attachment_session: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
72
- review_image: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
73
+ review_image: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
73
74
  add_annotated_attachment_marker: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true, { name: 'review_image' }),
74
75
  bulk_add_annotated_attachment_markers: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true, { name: 'review_image' }),
75
76
  update_annotated_attachment_marker: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
@@ -81,14 +82,14 @@ export const MCP_TOOL_REGISTRY = Object.freeze({
81
82
  review_document: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
82
83
  add_document_review_comment: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true, { name: 'review_document' }),
83
84
  update_document_review_thread: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
84
- update_document_review_comment: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
85
+ update_document_review_comment: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
85
86
  delete_document_review_comment: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
86
87
  get_schedule_board: defaultTool({ kind: 'scope', scope: 'tasks:read' }, false),
87
88
  update_schedule: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
88
89
  bulk_carryover: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
89
90
  set_schedule_preferences: fullTool({ kind: 'session-only' }, true),
90
91
  resolve_profile: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
91
- generate_profile_avatar: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
92
+ generate_profile_avatar: extendedTool({ kind: 'scope', scope: 'tasks:write' }, true),
92
93
  create_task: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
93
94
  start_task: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
94
95
  reopen_task: defaultTool({ kind: 'scope', scope: 'tasks:write' }, true),
@@ -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: 'Workflow execution ID returned by get_task_workflow.' },
42
- stepId: { type: 'string', description: 'Current workflow step ID returned by get_task_workflow.' },
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;