@taskforcehq/taskforce 0.3.329 → 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.
Files changed (321) hide show
  1. package/dist/Taskforce.module.css +290 -45
  2. package/dist/components/features/AiProfilesModule.js +3 -5
  3. package/dist/components/features/TaskSettings.js +70 -14
  4. package/dist/components/features/TaskforceAgentsModule.d.ts +1 -2
  5. package/dist/components/features/TaskforceAgentsModule.js +586 -116
  6. package/dist/components/features/agentConnections/AgentConnectionControl.d.ts +15 -0
  7. package/dist/components/features/agentConnections/AgentConnectionControl.js +125 -0
  8. package/dist/components/features/agentConnections/ModelConnectionsPanel.d.ts +18 -0
  9. package/dist/components/features/agentConnections/ModelConnectionsPanel.js +393 -0
  10. package/dist/components/features/agentConnections/modelConnectionsApi.d.ts +65 -0
  11. package/dist/components/features/agentConnections/modelConnectionsApi.js +129 -0
  12. package/dist/components/features/taskforceAgentAssignments/AgentBehaviorAssignments.js +15 -24
  13. package/dist/components/features/taskforceAgentEditorModel.d.ts +2 -1
  14. package/dist/components/features/taskforceAgentEditorModel.js +3 -1
  15. package/dist/components/features/workflowManager/workflowManagerApi.d.ts +1 -1
  16. package/dist/components/features/workflowManager/workflowManagerApi.js +3 -0
  17. package/dist/components/task/TaskWorkflowAssignmentField.js +68 -10
  18. package/dist/components/views/StandaloneLayout.js +27 -26
  19. package/dist/components/views/standalone/modals/SyncStatusModal.d.ts +4 -3
  20. package/dist/components/views/standalone/modals/SyncStatusModal.js +33 -38
  21. package/dist/config/envSchema.js +48 -1
  22. package/dist/core/McpTokenService.d.ts +23 -1
  23. package/dist/core/McpTokenService.js +93 -10
  24. package/dist/core/TaskChecklistCommandService.d.ts +27 -0
  25. package/dist/core/TaskChecklistCommandService.js +83 -5
  26. package/dist/core/TaskLifecycleCommandService.d.ts +3 -1
  27. package/dist/core/TaskLifecycleCommandService.js +6 -2
  28. package/dist/core/Taskforce.d.ts +32 -0
  29. package/dist/core/Taskforce.js +125 -4
  30. package/dist/core/types.d.ts +8 -0
  31. package/dist/documentReviews/commandService.d.ts +2 -1
  32. package/dist/documentReviews/commandService.js +6 -3
  33. package/dist/hooks/sync/orchestratorShared.d.ts +1 -0
  34. package/dist/hooks/sync/orchestratorShared.js +2 -0
  35. package/dist/hooks/sync/useLocalSyncCoordinatorSnapshot.d.ts +3 -0
  36. package/dist/hooks/sync/useLocalSyncCoordinatorSnapshot.js +85 -9
  37. package/dist/hooks/sync/useSyncStatusControls.d.ts +4 -1
  38. package/dist/hooks/sync/useSyncStatusControls.js +47 -11
  39. package/dist/hooks/useSyncOrchestrator.d.ts +3 -0
  40. package/dist/hooks/useSyncOrchestrator.js +111 -2
  41. package/dist/hooks/useTaskData.d.ts +31 -1
  42. package/dist/hooks/useTaskData.js +29 -7
  43. package/dist/hooks/useTaskMutations.d.ts +3 -1
  44. package/dist/hooks/useTaskMutations.js +46 -12
  45. package/dist/hooks/useTaskforce.d.ts +2 -0
  46. package/dist/hooks/useTaskforce.js +11 -2
  47. package/dist/mcp/clientRegistry.d.ts +2 -2
  48. package/dist/mcp/clientRegistry.js +1 -1
  49. package/dist/mcp/documentAssetRegistrar.js +9 -6
  50. package/dist/mcp/durableTaskMutationRouter.d.ts +4 -1
  51. package/dist/mcp/durableTaskMutationRouter.js +10 -0
  52. package/dist/mcp/durableTaskRelationshipMutationRouter.js +4 -0
  53. package/dist/mcp/httpProtocolRouting.d.ts +10 -0
  54. package/dist/mcp/httpProtocolRouting.js +19 -0
  55. package/dist/mcp/localCliHealth.d.ts +2 -2
  56. package/dist/mcp/localCliHealth.js +2 -2
  57. package/dist/mcp/localServiceProxy.d.ts +1 -0
  58. package/dist/mcp/localServiceProxy.js +530 -68
  59. package/dist/mcp/planningAttachmentCommandAdapter.d.ts +3 -1
  60. package/dist/mcp/planningAttachmentCommandAdapter.js +20 -2
  61. package/dist/mcp/runtime.d.ts +54 -79
  62. package/dist/mcp/runtime.js +384 -97
  63. package/dist/mcp/taskPlanningRegistrar.js +23 -4
  64. package/dist/mcp/toolProfiles.d.ts +2 -0
  65. package/dist/mcp/toolProfiles.js +10 -0
  66. package/dist/mcp/toolRegistry.d.ts +1 -0
  67. package/dist/mcp/toolRegistry.js +1 -0
  68. package/dist/mcp/workflowExecutionRegistrar.js +4 -4
  69. package/dist/migrations/taskSchemaMigrations.d.ts +5 -0
  70. package/dist/migrations/taskSchemaMigrations.js +415 -0
  71. package/dist/runtime/appGates.d.ts +2 -1
  72. package/dist/runtime/appGates.js +7 -0
  73. package/dist/server/index.d.ts +3 -0
  74. package/dist/server/index.js +108 -11
  75. package/dist/server/localDatabaseIdentity.js +4 -1
  76. package/dist/server/localServiceLease.js +2 -1
  77. package/dist/server/localServiceSessions.d.ts +14 -17
  78. package/dist/server/localServiceSessions.js +308 -94
  79. package/dist/server/localWorkspaceSyncServerRuntime.js +12 -14
  80. package/dist/server/routes/admin.d.ts +4 -0
  81. package/dist/server/routes/admin.js +112 -3
  82. package/dist/server/routes/agents.d.ts +7 -0
  83. package/dist/server/routes/agents.js +277 -24
  84. package/dist/server/routes/billing.js +5 -1
  85. package/dist/server/routes/durableTaskHttpRouters.d.ts +2 -0
  86. package/dist/server/routes/executorPhaseAApprovals.d.ts +19 -0
  87. package/dist/server/routes/executorPhaseAApprovals.js +140 -0
  88. package/dist/server/routes/executorPhaseAIssuerRedemptions.d.ts +11 -0
  89. package/dist/server/routes/executorPhaseAIssuerRedemptions.js +24 -0
  90. package/dist/server/routes/githubReviewEvidence.d.ts +19 -0
  91. package/dist/server/routes/githubReviewEvidence.js +116 -0
  92. package/dist/server/routes/localService.d.ts +15 -4
  93. package/dist/server/routes/localService.js +136 -40
  94. package/dist/server/routes/modelConnections.d.ts +24 -0
  95. package/dist/server/routes/modelConnections.js +205 -0
  96. package/dist/server/routes/shared.d.ts +19 -0
  97. package/dist/server/routes/shared.js +95 -19
  98. package/dist/server/routes/sync.js +1 -0
  99. package/dist/server/routes/syncAuxRoutes.js +5 -1
  100. package/dist/server/routes/syncPushRoutes.d.ts +1 -0
  101. package/dist/server/routes/syncPushRoutes.js +1 -0
  102. package/dist/server/routes/syncV3FeedRoutes.js +10 -1
  103. package/dist/server/routes/syncV3OperationRoutes.js +35 -9
  104. package/dist/server/routes/tasks.js +21 -2
  105. package/dist/server/routes/workflows.js +9 -1
  106. package/dist/server/routes.js +59 -0
  107. package/dist/services/codexAppServerModelGateway.d.ts +54 -5
  108. package/dist/services/codexAppServerModelGateway.js +246 -21
  109. package/dist/services/codexDeviceCodeLoginManager.d.ts +39 -0
  110. package/dist/services/codexDeviceCodeLoginManager.js +265 -0
  111. package/dist/services/codexModelProviderConnectionLifecycle.d.ts +8 -0
  112. package/dist/services/codexModelProviderConnectionLifecycle.js +73 -0
  113. package/dist/services/executorPhaseAApprovalRuntime.d.ts +14 -0
  114. package/dist/services/executorPhaseAApprovalRuntime.js +24 -0
  115. package/dist/services/executorPhaseAApprovalService.d.ts +40 -0
  116. package/dist/services/executorPhaseAApprovalService.js +609 -0
  117. package/dist/services/executorPhaseADriftEvaluator.d.ts +78 -0
  118. package/dist/services/executorPhaseADriftEvaluator.js +93 -0
  119. package/dist/services/executorPhaseAIssuerCore.d.ts +126 -0
  120. package/dist/services/executorPhaseAIssuerCore.js +295 -0
  121. package/dist/services/executorPhaseAIssuerRedemptionService.d.ts +34 -0
  122. package/dist/services/executorPhaseAIssuerRedemptionService.js +158 -0
  123. package/dist/services/githubReviewEvidenceRuntime.d.ts +14 -0
  124. package/dist/services/githubReviewEvidenceRuntime.js +30 -0
  125. package/dist/services/githubReviewEvidenceService.d.ts +93 -0
  126. package/dist/services/githubReviewEvidenceService.js +336 -0
  127. package/dist/services/modelGateway.d.ts +7 -0
  128. package/dist/services/modelProviderConnectionService.d.ts +71 -0
  129. package/dist/services/modelProviderConnectionService.js +279 -0
  130. package/dist/services/modelProviderCredentialHome.d.ts +32 -0
  131. package/dist/services/modelProviderCredentialHome.js +271 -0
  132. package/dist/services/ownerScopedModelConnectionGateway.d.ts +12 -0
  133. package/dist/services/ownerScopedModelConnectionGateway.js +30 -0
  134. package/dist/services/taskforceAgentConnectionBindingService.d.ts +66 -0
  135. package/dist/services/taskforceAgentConnectionBindingService.js +185 -0
  136. package/dist/services/taskforceAgentMcpBridge.d.ts +1 -1
  137. package/dist/services/taskforceAgentMcpBridge.js +7 -24
  138. package/dist/shared/adminEdgeProxy.d.ts +5 -0
  139. package/dist/shared/adminEdgeProxy.js +94 -0
  140. package/dist/shared/adminProxySessionCookies.d.ts +16 -0
  141. package/dist/shared/adminProxySessionCookies.js +86 -0
  142. package/dist/shared/aiProfileColors.d.ts +31 -1
  143. package/dist/shared/aiProfileColors.js +14 -6
  144. package/dist/shared/executorPhaseAApprovalGoldenVector.json +269 -0
  145. package/dist/shared/executorPhaseAApprovalReceipt.d.ts +112 -0
  146. package/dist/shared/executorPhaseAApprovalReceipt.js +58 -0
  147. package/dist/shared/executorPhaseAApprovalTrustPolicy.json +10 -0
  148. package/dist/shared/executorPhaseADriftContracts.d.ts +37 -0
  149. package/dist/shared/executorPhaseADriftContracts.js +63 -0
  150. package/dist/shared/executorPhaseAIssuerContracts.d.ts +75 -0
  151. package/dist/shared/executorPhaseAIssuerContracts.js +90 -0
  152. package/dist/shared/executorPhaseARunAuthorization.d.ts +120 -0
  153. package/dist/shared/executorPhaseARunAuthorization.js +232 -0
  154. package/dist/shared/executorPhaseASchemaValidation.d.ts +7 -0
  155. package/dist/shared/executorPhaseASchemaValidation.js +53 -0
  156. package/dist/shared/executorPhaseASchemas/approval-receipt.schema.json +106 -0
  157. package/dist/shared/executorPhaseASchemas/drift-attestation.schema.json +54 -0
  158. package/dist/shared/executorPhaseASchemas/drift-request.schema.json +47 -0
  159. package/dist/shared/executorPhaseASchemas/foundation-manifest.schema.json +29 -0
  160. package/dist/shared/executorPhaseASchemas/issuer-audit-record.schema.json +24 -0
  161. package/dist/shared/executorPhaseASchemas/issuer-proof.schema.json +43 -0
  162. package/dist/shared/executorPhaseASchemas/issuer-redemption-request.schema.json +18 -0
  163. package/dist/shared/executorPhaseASchemas/issuer-redemption-response.schema.json +39 -0
  164. package/dist/shared/executorPhaseASchemas/logical-envelope.schema.json +149 -0
  165. package/dist/shared/executorPhaseASchemas/preflight-report.schema.json +216 -0
  166. package/dist/shared/executorPhaseASchemas/run-capability.schema.json +111 -0
  167. package/dist/shared/executorPhaseASchemas/sender-proof.schema.json +37 -0
  168. package/dist/shared/executorPhaseASchemas/workload-grant.schema.json +68 -0
  169. package/dist/shared/executorPhaseASchemas/workload-jwt-claims.schema.json +67 -0
  170. package/dist/shared/executorPhaseATiming.d.ts +1 -0
  171. package/dist/shared/executorPhaseATiming.js +1 -0
  172. package/dist/shared/planningIdentity.js +1 -1
  173. package/dist/shared/productLogoKeys.d.ts +2 -0
  174. package/dist/shared/productLogoKeys.js +18 -0
  175. package/dist/shared/taskforceAgentDefinition.d.ts +0 -1
  176. package/dist/shared/taskforceAgentDefinition.js +6 -9
  177. package/dist/shared/taskforceAgentModels.js +7 -3
  178. package/dist/shared/userFeatureGrants.d.ts +4 -0
  179. package/dist/shared/userFeatureGrants.js +7 -0
  180. package/dist/storage/executorPhaseAApprovalReceiptStore.d.ts +37 -0
  181. package/dist/storage/executorPhaseAApprovalReceiptStore.js +81 -0
  182. package/dist/storage/executorPhaseARunAuthorizationStore.d.ts +103 -0
  183. package/dist/storage/executorPhaseARunAuthorizationStore.js +492 -0
  184. package/dist/storage/githubReviewEvidenceInstallationStore.d.ts +26 -0
  185. package/dist/storage/githubReviewEvidenceInstallationStore.js +89 -0
  186. package/dist/storage/modelProviderConnectionStore.d.ts +99 -0
  187. package/dist/storage/modelProviderConnectionStore.js +446 -0
  188. package/dist/storage/postgresAdapter.d.ts +4 -0
  189. package/dist/storage/postgresAdapter.js +11 -0
  190. package/dist/storage/postgresWorker.js +9 -1
  191. package/dist/storage/postgresWorkerProtocol.d.ts +1 -0
  192. package/dist/storage/taskforceAgentConnectionBindingStore.d.ts +31 -0
  193. package/dist/storage/taskforceAgentConnectionBindingStore.js +84 -0
  194. package/dist/sync/coordinator/localSyncExecutionPermitStore.js +60 -29
  195. package/dist/sync/coordinator/localWorkspaceSyncPendingV2PushProgress.d.ts +10 -0
  196. package/dist/sync/coordinator/localWorkspaceSyncPendingV2PushProgress.js +29 -0
  197. package/dist/sync/coordinator/localWorkspaceSyncRunnerState.d.ts +15 -1
  198. package/dist/sync/coordinator/localWorkspaceSyncRunnerState.js +99 -2
  199. package/dist/sync/coordinator/workspaceSyncCredentialBroker.d.ts +1 -0
  200. package/dist/sync/coordinator/workspaceSyncCredentialBroker.js +33 -4
  201. package/dist/sync/engine/workspaceSyncContentLifecycleAdapter.d.ts +2 -1
  202. package/dist/sync/engine/workspaceSyncContentVersionStore.d.ts +38 -0
  203. package/dist/sync/engine/workspaceSyncContentVersionStore.js +50 -1
  204. package/dist/sync/engine/workspaceSyncEngineLifecyclePolicy.js +6 -6
  205. package/dist/sync/engine/workspaceSyncEnginePushCompletion.d.ts +14 -0
  206. package/dist/sync/engine/workspaceSyncEnginePushCompletion.js +84 -0
  207. package/dist/sync/engine/workspaceSyncEngineRecovery.js +1 -0
  208. package/dist/sync/engine/workspaceSyncEngineRuntime.d.ts +1 -0
  209. package/dist/sync/engine/workspaceSyncEngineRuntime.js +1 -0
  210. package/dist/sync/engine/workspaceSyncEngineServerRunnerOperations.js +112 -38
  211. package/dist/sync/engine/workspaceSyncEngineServerSnapshotReader.js +6 -0
  212. package/dist/sync/engine/workspaceSyncEngineTransfers.js +3 -1
  213. package/dist/sync/engine/workspaceSyncV2ChangeDispatcher.d.ts +1 -0
  214. package/dist/sync/engine/workspaceSyncV2ChangeDispatcher.js +29 -0
  215. package/dist/sync/syncApplyHandlers.d.ts +2 -0
  216. package/dist/sync/syncApplyHandlers.js +10 -1
  217. package/dist/sync/syncService.d.ts +15 -0
  218. package/dist/sync/syncService.js +83 -18
  219. package/dist/sync/taskforceAgentSyncAuthorization.d.ts +16 -0
  220. package/dist/sync/taskforceAgentSyncAuthorization.js +20 -0
  221. package/dist/sync/v3/combinedFeedCapability.js +4 -0
  222. package/dist/sync/v3/durableInitiativeMutationRouter.js +18 -10
  223. package/dist/sync/v3/durableOperationReplay.d.ts +14 -0
  224. package/dist/sync/v3/durableOperationReplay.js +18 -0
  225. package/dist/sync/v3/durableTaskAttachmentLinksMutationRouter.js +3 -0
  226. package/dist/sync/v3/durableTaskChecklistMutationRouter.d.ts +2 -1
  227. package/dist/sync/v3/durableTaskChecklistMutationRouter.js +58 -15
  228. package/dist/sync/v3/durableTaskCommentMutationRouter.js +3 -0
  229. package/dist/sync/v3/durableTaskHttpRootMutationRouter.d.ts +1 -1
  230. package/dist/sync/v3/durableTaskHttpRootMutationRouter.js +10 -0
  231. package/dist/sync/v3/durableTaxonomyMutationRouter.js +5 -0
  232. package/dist/sync/v3/durableWorkflowRuntimeMutationRouter.d.ts +11 -0
  233. package/dist/sync/v3/durableWorkflowRuntimeMutationRouter.js +39 -10
  234. package/dist/sync/v3/durableWorkstreamMutationRouter.js +18 -10
  235. package/dist/sync/v3/durableWorkstreamTaskOrderMutationRouter.js +16 -5
  236. package/dist/sync/v3/localOutboxDispatchRuntime.js +2 -2
  237. package/dist/sync/v3/localTaskChecklistOutboxHandler.js +16 -2
  238. package/dist/sync/v3/localTaskChecklistOutboxService.d.ts +4 -0
  239. package/dist/sync/v3/localTaskChecklistOutboxService.js +14 -1
  240. package/dist/sync/v3/localTaskStatusOutboxService.d.ts +8 -0
  241. package/dist/sync/v3/localTaskStatusOutboxService.js +219 -12
  242. package/dist/sync/v3/syncDurabilityStore.d.ts +34 -0
  243. package/dist/sync/v3/syncDurabilityStore.js +168 -2
  244. package/dist/sync/v3/taskChecklistMutationService.d.ts +11 -0
  245. package/dist/sync/v3/taskChecklistMutationService.js +44 -1
  246. package/dist/sync/v3/taskStatusMutationService.d.ts +29 -1
  247. package/dist/sync/v3/taskStatusMutationService.js +119 -3
  248. package/dist/sync/v3/workflowAssignmentSync.d.ts +5 -0
  249. package/dist/sync/v3/workflowAssignmentSync.js +27 -0
  250. package/dist/sync/v3/workspaceSyncJournalReader.js +1 -1
  251. package/dist/sync/v3/workspaceSyncOperationRetentionService.d.ts +16 -0
  252. package/dist/sync/v3/workspaceSyncOperationRetentionService.js +83 -0
  253. package/dist/sync/v3/workspaceSyncV3CloudOperationHandler.d.ts +1 -0
  254. package/dist/sync/v3/workspaceSyncV3CloudOperationHandler.js +9 -2
  255. package/dist/sync/v3/workspaceSyncV3CombinedRepairBaseline.d.ts +7 -0
  256. package/dist/sync/v3/workspaceSyncV3CombinedRepairBaseline.js +44 -32
  257. package/dist/sync/v3/workspaceSyncV3CombinedRepairMaterialization.d.ts +9 -5
  258. package/dist/sync/v3/workspaceSyncV3CombinedRepairMaterialization.js +54 -38
  259. package/dist/sync/v3/workspaceSyncV3CombinedRepairSnapshot.d.ts +10 -0
  260. package/dist/sync/v3/workspaceSyncV3CombinedRepairSnapshot.js +70 -31
  261. package/dist/sync/v3/workspaceSyncV3CombinedWireContract.d.ts +2 -1
  262. package/dist/sync/v3/workspaceSyncV3CombinedWireContract.js +16 -0
  263. package/dist/sync/v3/workspaceSyncV3CoverageRegistry.js +6 -0
  264. package/dist/sync/v3/workspaceSyncV3OperationProtocol.d.ts +3 -0
  265. package/dist/sync/v3/workspaceSyncV3OperatorDiagnostics.d.ts +5 -0
  266. package/dist/sync/v3/workspaceSyncV3OperatorDiagnostics.js +36 -2
  267. package/dist/sync/v3/workspaceSyncV3RepairSnapshotRetentionService.d.ts +17 -0
  268. package/dist/sync/v3/workspaceSyncV3RepairSnapshotRetentionService.js +64 -0
  269. package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverCoverage.d.ts +7 -0
  270. package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverCoverage.js +33 -0
  271. package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverWireContract.d.ts +7 -0
  272. package/dist/sync/v3/workspaceSyncV3WorkflowTaskCoverWireContract.js +8 -0
  273. package/dist/sync/workspaceRepair.d.ts +5 -2
  274. package/dist/sync/workspaceRepair.js +161 -6
  275. package/dist/sync/workspaceSyncModel.d.ts +21 -0
  276. package/dist/sync/workspaceSyncModel.js +35 -7
  277. package/dist/sync/workspaceSyncState.d.ts +1 -0
  278. package/dist/sync/workspaceSyncV2SnapshotBuilder.d.ts +6 -0
  279. package/dist/sync/workspaceSyncV2SnapshotBuilder.js +5 -0
  280. package/dist/ui/assets/AiIdentityRosterCard-OcSz1PkK.js +1 -0
  281. package/dist/ui/assets/AiProfilesModule-ByhYW5Xi.js +1 -0
  282. package/dist/ui/assets/{AnnotatedAttachmentWorkspace-B68Wg-RV.js → AnnotatedAttachmentWorkspace-BTM6nIg_.js} +1 -1
  283. package/dist/ui/assets/{AssetTraySortControl-C8Rztyal.js → AssetTraySortControl-DabEG8L4.js} +1 -1
  284. package/dist/ui/assets/{ContextAttachmentManager-Cj3c7X9y.js → ContextAttachmentManager-Coa8yVGM.js} +1 -1
  285. package/dist/ui/assets/{DocumentWorkspace-B5uvzems.js → DocumentWorkspace-BB0qhdix.js} +1 -1
  286. package/dist/ui/assets/{EntityActivityTimeline-BVFvCB5R.js → EntityActivityTimeline-CZ8x4UJE.js} +1 -1
  287. package/dist/ui/assets/{PlanningModule-B5DWQOGz.js → PlanningModule-pRPjR7v5.js} +1 -1
  288. package/dist/ui/assets/{PlansPage-AY4cGWco.js → PlansPage-D86pZSSl.js} +1 -1
  289. package/dist/ui/assets/{TaskContextUpload-DZxTVesW.js → TaskContextUpload-BVIkU9yT.js} +1 -1
  290. package/dist/ui/assets/TaskSettings-Cv1mNhv_.js +12 -0
  291. package/dist/ui/assets/TaskforceAgentsModule-b-8R25cJ.css +1 -0
  292. package/dist/ui/assets/TaskforceAgentsModule-gmH-PD2q.js +24 -0
  293. package/dist/ui/assets/{WorkflowManagerModule-DEr5di_r.js → WorkflowManagerModule-DbfnHJ-f.js} +1 -1
  294. package/dist/ui/assets/index-BZ-hdZSk.css +1 -0
  295. package/dist/ui/assets/index-CTsDBaef.js +7 -0
  296. package/dist/ui/assets/{vendor-icons-D9Lpw-j4.js → vendor-icons-Bsq-mcEn.js} +1 -1
  297. package/dist/ui/branding/logos/letterhead_dark.png +0 -0
  298. package/dist/ui/branding/logos/letterhead_light.png +0 -0
  299. package/dist/ui/branding/logos/signature_dark.png +0 -0
  300. package/dist/ui/branding/logos/signature_light.png +0 -0
  301. package/dist/ui/index.html +3 -3
  302. package/dist/utils/aiProfileDefaultLogo.js +16 -48
  303. package/dist/utils/httpSetCookie.d.ts +1 -0
  304. package/dist/utils/httpSetCookie.js +4 -1
  305. package/dist/utils/localRuntimeUrl.d.ts +1 -0
  306. package/dist/utils/localRuntimeUrl.js +14 -0
  307. package/dist/utils/productLogoRegistry.d.ts +2 -0
  308. package/dist/utils/productLogoRegistry.js +36 -0
  309. package/dist/utils/syncStatusPresentation.d.ts +4 -0
  310. package/dist/utils/syncStatusPresentation.js +17 -0
  311. package/dist/utils/taskEvents.d.ts +2 -0
  312. package/dist/utils/workspaceSyncPresentation.d.ts +1 -1
  313. package/dist/utils/workspaceSyncPresentation.js +23 -17
  314. package/package.json +22 -4
  315. package/dist/ui/assets/AiIdentityRosterCard-BZM4aQnM.js +0 -1
  316. package/dist/ui/assets/AiProfilesModule-BbAEWtHH.js +0 -1
  317. package/dist/ui/assets/TaskSettings-BeWAuyZj.js +0 -12
  318. package/dist/ui/assets/TaskforceAgentsModule-BifCYtjR.js +0 -21
  319. package/dist/ui/assets/TaskforceAgentsModule-D6IC0S7Q.css +0 -1
  320. package/dist/ui/assets/index-I5zhdtgt.js +0 -7
  321. package/dist/ui/assets/index-VRFsx3wz.css +0 -1
@@ -4507,7 +4507,10 @@ button.projectName:focus-visible {
4507
4507
  background: #1e1e2e !important;
4508
4508
  padding: 14px 16px !important;
4509
4509
  border: none !important;
4510
- overflow-x: auto;
4510
+ overflow-x: hidden;
4511
+ white-space: pre-wrap;
4512
+ overflow-wrap: anywhere;
4513
+ word-break: break-word;
4511
4514
  border-radius: 0 !important;
4512
4515
  }
4513
4516
 
@@ -5626,6 +5629,246 @@ button.projectName:focus-visible {
5626
5629
  display: none;
5627
5630
  }
5628
5631
 
5632
+ .taskforceModelConnectionsRoot {
5633
+ display: grid;
5634
+ grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
5635
+ width: 100%;
5636
+ min-height: 0;
5637
+ }
5638
+
5639
+ .taskforceModelConnectionsRootExternalLibrary {
5640
+ grid-template-columns: minmax(0, 1fr);
5641
+ }
5642
+
5643
+ .taskforceModelConnectionsWorkspace {
5644
+ display: grid;
5645
+ gap: 1rem;
5646
+ width: min(100%, 920px);
5647
+ min-width: 0;
5648
+ padding: 18px clamp(18px, 3vw, 32px);
5649
+ box-sizing: border-box;
5650
+ align-content: start;
5651
+ }
5652
+
5653
+ .taskforceModelConnectionsHeader,
5654
+ .taskforceModelConnectionCardHeader,
5655
+ .taskforceModelConnectionActions,
5656
+ .taskforceModelConnectionCodeRow,
5657
+ .taskforceAgentConnectionControlHeader,
5658
+ .taskforceAgentConnectionBindingRow,
5659
+ .taskforceAgentConnectionCallout {
5660
+ display: flex;
5661
+ align-items: center;
5662
+ gap: 0.75rem;
5663
+ }
5664
+
5665
+ .taskforceModelConnectionsHeader,
5666
+ .taskforceModelConnectionCardHeader,
5667
+ .taskforceAgentConnectionControlHeader,
5668
+ .taskforceAgentConnectionCallout {
5669
+ justify-content: space-between;
5670
+ }
5671
+
5672
+ .taskforceModelConnectionsHeader > div,
5673
+ .taskforceModelConnectionCardHeader > div {
5674
+ display: grid;
5675
+ gap: 0.25rem;
5676
+ min-width: 0;
5677
+ }
5678
+
5679
+ .taskforceModelConnectionNameRow,
5680
+ .taskforceModelConnectionNameEditor {
5681
+ display: flex;
5682
+ align-items: center;
5683
+ gap: 0.375rem;
5684
+ min-width: 0;
5685
+ }
5686
+
5687
+ .taskforceModelConnectionCardHeader > .taskforceModelConnectionIdentity {
5688
+ display: flex;
5689
+ align-items: center;
5690
+ gap: 0.75rem;
5691
+ }
5692
+
5693
+ .taskforceModelConnectionIdentityText {
5694
+ display: grid;
5695
+ gap: 0.25rem;
5696
+ min-width: 0;
5697
+ }
5698
+
5699
+ .taskforceModelConnectionLogo {
5700
+ display: inline-flex;
5701
+ flex: 0 0 auto;
5702
+ width: 2.25rem;
5703
+ height: 2.25rem;
5704
+ align-items: center;
5705
+ justify-content: center;
5706
+ border: 1px solid var(--border-default);
5707
+ border-radius: var(--radius-md);
5708
+ background: var(--surface-elevated);
5709
+ }
5710
+
5711
+ .taskforceModelConnectionLogo img {
5712
+ display: block;
5713
+ width: 1.5rem;
5714
+ height: 1.5rem;
5715
+ object-fit: contain;
5716
+ }
5717
+
5718
+ .taskforceModelConnectionNameRow strong {
5719
+ overflow: hidden;
5720
+ text-overflow: ellipsis;
5721
+ white-space: nowrap;
5722
+ }
5723
+
5724
+ .taskforceModelConnectionNameEditor .input {
5725
+ min-width: 12rem;
5726
+ max-width: 24rem;
5727
+ }
5728
+
5729
+ .taskforceModelConnectionCard,
5730
+ .taskforceAgentConnectionControl {
5731
+ display: grid;
5732
+ gap: 0.75rem;
5733
+ padding: 1rem;
5734
+ border: 1px solid var(--border-default);
5735
+ border-radius: var(--radius-md);
5736
+ background: var(--surface-panel);
5737
+ }
5738
+
5739
+ .taskforceModelConnectionLogin {
5740
+ border-color: var(--status-warning);
5741
+ background: var(--surface-elevated);
5742
+ }
5743
+
5744
+ .taskforceModelConnectionCardHeader strong,
5745
+ .taskforceAgentConnectionControlHeader strong,
5746
+ .taskforceAgentConnectionControl > div:first-child strong {
5747
+ color: var(--text-title);
5748
+ font-size: 0.875rem;
5749
+ }
5750
+
5751
+ .taskforceModelConnectionCardHeader > div > span,
5752
+ .taskforceAgentConnectionControl > span,
5753
+ .taskforceAgentConnectionCallout > span,
5754
+ .taskforceModelConnectionsEmpty > span {
5755
+ color: var(--text-helper);
5756
+ font-size: 0.75rem;
5757
+ line-height: 1.45;
5758
+ }
5759
+
5760
+ .taskforceModelConnectionMeta {
5761
+ display: flex;
5762
+ flex-wrap: wrap;
5763
+ gap: 0.5rem 1rem;
5764
+ color: var(--text-secondary);
5765
+ font-size: 0.75rem;
5766
+ }
5767
+
5768
+ .taskforceModelConnectionActions {
5769
+ flex-wrap: wrap;
5770
+ }
5771
+
5772
+ .taskforceModelConnectionCodeRow {
5773
+ flex-wrap: wrap;
5774
+ }
5775
+
5776
+ .taskforceModelConnectionCodeRow code {
5777
+ min-width: 9rem;
5778
+ padding: 0.625rem 0.875rem;
5779
+ border: 1px solid var(--border-strong);
5780
+ border-radius: var(--radius-md);
5781
+ background: var(--surface-inset);
5782
+ color: var(--text-title);
5783
+ font-size: 1rem;
5784
+ font-weight: 700;
5785
+ text-align: center;
5786
+ }
5787
+
5788
+ .taskforceModelConnectionsLoading,
5789
+ .taskforceModelConnectionsEmpty {
5790
+ min-height: 12rem;
5791
+ display: flex;
5792
+ align-items: center;
5793
+ justify-content: center;
5794
+ color: var(--text-secondary);
5795
+ }
5796
+
5797
+ .taskforceModelConnectionsEmpty {
5798
+ flex-direction: column;
5799
+ gap: 0.5rem;
5800
+ border: 1px dashed var(--border-default);
5801
+ border-radius: var(--radius-md);
5802
+ background: var(--surface-inset);
5803
+ text-align: center;
5804
+ }
5805
+
5806
+ .taskforceModelConnectionsEmpty strong {
5807
+ color: var(--text-title);
5808
+ font-size: 0.875rem;
5809
+ }
5810
+
5811
+ .taskforceAgentConnectionControl {
5812
+ margin-top: 0.75rem;
5813
+ background: var(--surface-inset);
5814
+ }
5815
+
5816
+ .taskforceAgentConnectionControl > div:first-child,
5817
+ .taskforceAgentConnectionControlHeader > div {
5818
+ display: flex;
5819
+ align-items: center;
5820
+ gap: 0.5rem;
5821
+ }
5822
+
5823
+ .taskforceAgentConnectionBindingRow {
5824
+ align-items: flex-end;
5825
+ flex-wrap: wrap;
5826
+ }
5827
+
5828
+ .taskforceAgentConnectionBindingRow > label {
5829
+ flex: 1 1 16rem;
5830
+ }
5831
+
5832
+ @media (max-width: 720px) {
5833
+ .taskforceModelConnectionsRoot {
5834
+ grid-template-columns: minmax(0, 1fr);
5835
+ }
5836
+
5837
+ .taskforceModelConnectionsHeader,
5838
+ .taskforceModelConnectionCardHeader,
5839
+ .taskforceAgentConnectionControlHeader,
5840
+ .taskforceAgentConnectionCallout {
5841
+ align-items: stretch;
5842
+ flex-direction: column;
5843
+ }
5844
+
5845
+ .taskforceModelConnectionActions > button,
5846
+ .taskforceModelConnectionCodeRow > a,
5847
+ .taskforceModelConnectionCodeRow > button,
5848
+ .taskforceAgentConnectionBindingRow > button,
5849
+ .taskforceAgentConnectionCallout > button,
5850
+ .taskforceModelConnectionsHeader > button,
5851
+ .taskforceModelConnectionsWorkspace > .taskforceAgentTestError > button,
5852
+ .taskforceModelConnectionsWorkspace > .taskforceAgentTestNotice > button {
5853
+ flex: 1 1 auto;
5854
+ min-height: 44px;
5855
+ }
5856
+
5857
+ .taskforceModelConnectionsWorkspace > .taskforceAgentTestError,
5858
+ .taskforceModelConnectionsWorkspace > .taskforceAgentTestNotice {
5859
+ flex-wrap: wrap;
5860
+ }
5861
+
5862
+ .taskforceModelConnectionsWorkspace > .taskforceAgentTestError > span,
5863
+ .taskforceModelConnectionsWorkspace > .taskforceAgentTestNotice > span {
5864
+ flex: 1 1 calc(100% - 24px);
5865
+ }
5866
+
5867
+ .taskforceModelConnectionCodeRow > :global(button.tf-control-icon) {
5868
+ min-width: 44px;
5869
+ }
5870
+ }
5871
+
5629
5872
  .taskforceAgentBuilderEmpty {
5630
5873
  min-height: min(420px, 58vh);
5631
5874
  display: flex;
@@ -6084,7 +6327,7 @@ button.projectName:focus-visible {
6084
6327
  min-width: 0;
6085
6328
  }
6086
6329
 
6087
- .taskforceAgentOutputPanel {
6330
+ .taskforceAgentHeaderTestPanel {
6088
6331
  display: flex;
6089
6332
  flex-direction: column;
6090
6333
  gap: 10px;
@@ -6095,31 +6338,22 @@ button.projectName:focus-visible {
6095
6338
  padding: 12px;
6096
6339
  }
6097
6340
 
6098
- .taskforceAgentTestTitle {
6099
- display: flex;
6100
- align-items: center;
6101
- gap: 10px;
6102
- min-width: 0;
6103
- }
6104
-
6105
- .taskforceAgentTestTitle .taskforceAgentBuilderEmptyIcon {
6106
- width: 36px;
6107
- height: 36px;
6108
- flex: 0 0 auto;
6341
+ .taskforceAgentTestComposer {
6342
+ display: grid;
6343
+ grid-template-columns: minmax(0, 1fr) auto;
6344
+ align-items: end;
6345
+ gap: 8px;
6109
6346
  }
6110
6347
 
6111
- .taskforceAgentTestTitle > div {
6112
- display: flex;
6113
- flex-direction: column;
6114
- gap: 2px;
6115
- min-width: 0;
6348
+ .taskforceAgentTestComposer textarea {
6349
+ min-height: 92px;
6350
+ resize: vertical;
6116
6351
  }
6117
6352
 
6118
- .taskforceAgentTestTitle p {
6119
- margin: 0;
6120
- color: var(--text-secondary);
6121
- font-size: 11px;
6122
- line-height: 1.4;
6353
+ .taskforceAgentTestSendButton {
6354
+ width: 36px;
6355
+ height: 36px;
6356
+ margin-bottom: 0;
6123
6357
  }
6124
6358
 
6125
6359
  .taskforceAgentTestNotice,
@@ -6153,19 +6387,13 @@ button.projectName:focus-visible {
6153
6387
  color: var(--status-error);
6154
6388
  }
6155
6389
 
6156
- .taskforceAgentTestPending svg {
6157
- color: var(--accent-primary);
6158
- }
6159
-
6160
- .taskforceAgentTestActions {
6161
- display: flex;
6162
- justify-content: flex-end;
6163
- flex-wrap: wrap;
6164
- gap: 8px;
6390
+ .taskforceAgentRetryButton {
6391
+ flex: 0 0 auto;
6392
+ margin-left: auto;
6165
6393
  }
6166
6394
 
6167
- .taskforceAgentTestActions > button:first-child {
6168
- margin-right: auto;
6395
+ .taskforceAgentTestPending svg {
6396
+ color: var(--accent-primary);
6169
6397
  }
6170
6398
 
6171
6399
  .taskforceAgentTestRestriction {
@@ -6373,17 +6601,6 @@ button.projectName:focus-visible {
6373
6601
  padding: 12px 0;
6374
6602
  }
6375
6603
 
6376
- .taskforceAgentSignatureColorField > div:first-child {
6377
- display: flex;
6378
- flex-direction: column;
6379
- gap: 3px;
6380
- }
6381
-
6382
- .taskforceAgentSignatureColorField small {
6383
- color: var(--text-helper);
6384
- font-size: 11px;
6385
- }
6386
-
6387
6604
  .taskforceAgentSignatureColorField .aiProfileColorPicker {
6388
6605
  justify-content: flex-start;
6389
6606
  margin-top: 0;
@@ -6534,6 +6751,34 @@ button.projectName:focus-visible {
6534
6751
  background: color-mix(in srgb, var(--input-bg) 72%, transparent);
6535
6752
  }
6536
6753
 
6754
+ .taskforceAgentToolCopyButton {
6755
+ grid-column: 1 / -1;
6756
+ justify-self: end;
6757
+ display: inline-flex;
6758
+ align-items: center;
6759
+ gap: 5px;
6760
+ min-height: 26px;
6761
+ padding: 4px 7px;
6762
+ border: 1px solid var(--border-primary);
6763
+ border-radius: var(--radius-sm, 6px);
6764
+ background: var(--button-bg, var(--input-bg));
6765
+ color: var(--text-secondary);
6766
+ cursor: pointer;
6767
+ }
6768
+
6769
+ .taskforceAgentToolCopyButton:hover {
6770
+ color: var(--text-primary);
6771
+ border-color: var(--border-secondary, var(--border-primary));
6772
+ }
6773
+
6774
+ .taskforceAgentToolCopyButton span {
6775
+ color: currentColor;
6776
+ font-size: 11px;
6777
+ font-weight: 600;
6778
+ letter-spacing: 0;
6779
+ text-transform: none;
6780
+ }
6781
+
6537
6782
  .taskforceAgentToolDetailsGrid span {
6538
6783
  color: var(--text-helper);
6539
6784
  font-size: 10px;
@@ -11,9 +11,8 @@ import { buildVersionedAvatarUrl } from '../../utils/avatarDisplay';
11
11
  import { getAiProfileDefaultLogoUrl } from '../../utils/aiProfileDefaultLogo';
12
12
  import { dispatchTaskforceAiProfilesMutated, TASKFORCE_AI_PROFILES_MUTATED_EVENT, } from '../../utils/aiProfileEvents';
13
13
  import { getTaskforceManagedAgentId, isAiProfileAvatarGenerationEligible, } from '../../shared/aiProfileAvatarEligibility.js';
14
- import { AI_PROFILE_COLOR_TOKENS } from '../../shared/aiProfileColors.js';
14
+ import { AI_PROFILE_SIGNATURE_COLOR_OPTIONS } from '../../shared/aiProfileColors.js';
15
15
  import { AiIdentityRosterCard } from '../ui/AiIdentityRosterCard.js';
16
- import { COLOR_PALETTE } from '../../shared/colorPalette.js';
17
16
  import { AI_PROFILE_SURFACE_TYPES, formatAiProfileSurfaceTypeLabel, formatAiProfileSurfaceTypeSectionLabel, getAiProfileSurfaceTypeSection, parseAiProfileSurfaceType } from '../../shared/aiProfileSurfaceType.js';
18
17
  import { formatAiProfileSeatScopeLabel, parseAiProfileSeatScope } from '../../shared/aiProfileSeatScope.js';
19
18
  const AI_PROFILE_DISPLAY_SECTION_ORDER = [
@@ -716,9 +715,8 @@ export function AiProfilesModule({ workspaceId, runtimeMode = 'local', cloudAuth
716
715
  setAiAvatarError(null);
717
716
  setAiAvatarNotice(null);
718
717
  setAvatarEditorProfileId(selectedGroup.primaryProfile.id);
719
- } }), _jsxs("div", { className: styles.aiProfileDetailHeading, children: [_jsx("div", { className: styles.aiProfileDetailTitleRow, children: _jsx("h5", { className: styles.aiProfileDetailTitle, children: selectedGroup.primaryProfile.name }) }), _jsxs("div", { className: styles.aiProfileDetailMetaRow, children: [_jsxs("span", { className: styles.aiProfileDetailHandle, children: ["@", selectedGroup.primaryProfile.username] }), selectedGroup.profiles.length > 1 && (_jsxs("span", { className: styles.aiProfileDetailLinkedCount, children: [selectedGroup.profiles.length, " linked"] }))] }), _jsxs("div", { className: styles.aiProfileDetailRole, children: ["Role: ", selectedGroup.primaryProfile.role || 'Not set'] }), selectedGroup.primaryProfile.description && (_jsx("div", { className: styles.aiProfileDetailDescription, children: selectedGroup.primaryProfile.description })), _jsxs("div", { className: styles.aiProfileSignatureColor, children: [_jsx("span", { children: "Signature color" }), _jsxs("button", { type: "button", className: styles.aiProfileSignatureColorButton, onClick: () => setColorPickerOpen((open) => !open), disabled: colorBusy, "aria-expanded": colorPickerOpen, "aria-label": "Change signature color", children: [_jsx("span", { className: styles.aiProfileSignatureSwatch, style: { backgroundColor: selectedGroup.primaryProfile.color }, "aria-hidden": "true" }), _jsx("span", { children: selectedGroup.primaryProfile.color })] })] }), colorPickerOpen && (_jsxs("div", { className: styles.aiProfileColorPicker, "aria-label": "Signature color options", children: [AI_PROFILE_COLOR_TOKENS.map((token) => {
720
- const color = COLOR_PALETTE[token];
721
- return _jsx("button", { type: "button", className: styles.aiProfileColorOption, style: { backgroundColor: color }, "aria-label": `Use ${token}`, "aria-pressed": selectedGroup.primaryProfile.color.toLowerCase() === color.toLowerCase(), disabled: colorBusy, onClick: () => { void handleColorChange(selectedGroup, color); } }, token);
718
+ } }), _jsxs("div", { className: styles.aiProfileDetailHeading, children: [_jsx("div", { className: styles.aiProfileDetailTitleRow, children: _jsx("h5", { className: styles.aiProfileDetailTitle, children: selectedGroup.primaryProfile.name }) }), _jsxs("div", { className: styles.aiProfileDetailMetaRow, children: [_jsxs("span", { className: styles.aiProfileDetailHandle, children: ["@", selectedGroup.primaryProfile.username] }), selectedGroup.profiles.length > 1 && (_jsxs("span", { className: styles.aiProfileDetailLinkedCount, children: [selectedGroup.profiles.length, " linked"] }))] }), _jsxs("div", { className: styles.aiProfileDetailRole, children: ["Role: ", selectedGroup.primaryProfile.role || 'Not set'] }), selectedGroup.primaryProfile.description && (_jsx("div", { className: styles.aiProfileDetailDescription, children: selectedGroup.primaryProfile.description })), _jsxs("div", { className: styles.aiProfileSignatureColor, children: [_jsx("span", { children: "Signature color" }), _jsxs("button", { type: "button", className: styles.aiProfileSignatureColorButton, onClick: () => setColorPickerOpen((open) => !open), disabled: colorBusy, "aria-expanded": colorPickerOpen, "aria-label": "Change signature color", children: [_jsx("span", { className: styles.aiProfileSignatureSwatch, style: { backgroundColor: selectedGroup.primaryProfile.color }, "aria-hidden": "true" }), _jsx("span", { children: selectedGroup.primaryProfile.color })] })] }), colorPickerOpen && (_jsxs("div", { className: styles.aiProfileColorPicker, "aria-label": "Signature color options", children: [AI_PROFILE_SIGNATURE_COLOR_OPTIONS.map(({ name, value: color }) => {
719
+ return _jsx("button", { type: "button", className: styles.aiProfileColorOption, style: { backgroundColor: color }, "aria-label": `Use ${name}`, "aria-pressed": selectedGroup.primaryProfile.color.toLowerCase() === color.toLowerCase(), disabled: colorBusy, onClick: () => { void handleColorChange(selectedGroup, color); } }, color);
722
720
  }), _jsx("button", { type: "button", className: styles.secondaryHeaderBtn, disabled: colorBusy, onClick: () => { void handleColorChange(selectedGroup, undefined, true); }, children: "Reset" })] })), colorError && _jsx("div", { className: styles.aiProfileInlineError, children: colorError })] })] }), _jsxs("div", { className: styles.aiProfileDetailDataList, children: [_jsx("div", { className: styles.aiProfileDetailDataGroup, children: selectedProfileDataGroups.attributes.map((row) => (_jsxs("div", { className: styles.aiProfileDetailDataRow, children: [_jsx("span", { className: styles.aiProfileDetailDataLabel, children: row.label }), row.label === 'Category' && !isTaskforceManagedAiProfile(selectedGroup.primaryProfile) ? (_jsx("span", { className: styles.aiProfileDetailDataValue, children: _jsxs("select", { className: styles.aiProfileStatusSelect, "aria-label": "Agent category", value: selectedGroup.primaryProfile.surfaceType ?? '', disabled: aiProfileCategoryBusy, onChange: (event) => {
723
721
  void handleCategoryChange(selectedGroup, event.target.value);
724
722
  }, children: [_jsx("option", { value: "", children: "Unclassified" }), AI_PROFILE_SURFACE_TYPES.map((surfaceType) => (_jsx("option", { value: surfaceType, children: formatAiProfileSurfaceTypeLabel(surfaceType) }, surfaceType)))] }) })) : (_jsx("span", { className: styles.aiProfileDetailDataValue, children: row.value }))] }, row.label))) }), _jsx("div", { className: `${styles.aiProfileDetailDataGroup} ${styles.aiProfileDetailDateGroup}`, children: selectedProfileDataGroups.dates.map((row) => (_jsxs("div", { className: styles.aiProfileDetailDataRow, children: [_jsx("span", { className: styles.aiProfileDetailDataLabel, children: row.label }), row.label === 'Status' ? (_jsx("span", { className: styles.aiProfileDetailDataValue, children: _jsxs("select", { className: styles.aiProfileStatusSelect, "aria-label": "Agent roster status", value: selectedGroup.primaryProfile.archivedAt ? 'retired' : 'active', onChange: (event) => {