@taskforcehq/taskforce 0.3.302 → 0.3.304

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 (192) hide show
  1. package/dist/Taskforce.module.css +113 -5
  2. package/dist/TaskforceCore.js +560 -208
  3. package/dist/TaskforceCore.test.js +1833 -91
  4. package/dist/annotatedAttachments/service.d.ts +1 -1
  5. package/dist/annotatedAttachments/types.d.ts +1 -1
  6. package/dist/components/features/AgentsModule.js +1 -1
  7. package/dist/components/features/AgentsModule.test.js +1 -1
  8. package/dist/components/features/TaskSettings.js +58 -38
  9. package/dist/components/features/TaskSettings.test.js +139 -40
  10. package/dist/components/task/TaskActionHeader.d.ts +2 -1
  11. package/dist/components/task/TaskActionHeader.js +3 -3
  12. package/dist/components/task/TaskActionHeader.test.js +8 -0
  13. package/dist/components/task/TaskCard.js +16 -1
  14. package/dist/components/task/TaskCard.test.js +31 -0
  15. package/dist/components/task/TaskForm.d.ts +2 -1
  16. package/dist/components/task/TaskForm.js +22 -4
  17. package/dist/components/task/TaskForm.test.js +46 -0
  18. package/dist/components/task/TaskKanban.d.ts +1 -1
  19. package/dist/components/task/TaskKanban.js +31 -160
  20. package/dist/components/task/TaskKanban.test.js +17 -0
  21. package/dist/components/task/TaskStatusActions.d.ts +6 -1
  22. package/dist/components/task/TaskStatusActions.js +8 -3
  23. package/dist/components/task/TaskStatusActions.test.js +9 -0
  24. package/dist/components/task/taskKanbanDropRules.d.ts +58 -0
  25. package/dist/components/task/taskKanbanDropRules.js +187 -0
  26. package/dist/components/task/taskKanbanDropRules.test.d.ts +1 -0
  27. package/dist/components/task/taskKanbanDropRules.test.js +114 -0
  28. package/dist/components/ui/Modal.d.ts +1 -1
  29. package/dist/components/ui/Modal.js +1 -0
  30. package/dist/components/views/AppShellHeader.js +5 -1
  31. package/dist/components/views/AppShellHeader.test.js +4 -0
  32. package/dist/components/views/PlanComparisonPage.d.ts +3 -2
  33. package/dist/components/views/PlanComparisonPage.js +4 -2
  34. package/dist/components/views/PlanComparisonPage.test.js +4 -0
  35. package/dist/components/views/PlansPage.d.ts +7 -1
  36. package/dist/components/views/PlansPage.js +139 -53
  37. package/dist/components/views/PlansPage.test.d.ts +1 -0
  38. package/dist/components/views/PlansPage.test.js +157 -0
  39. package/dist/components/views/StandaloneLayout.d.ts +1 -0
  40. package/dist/components/views/StandaloneLayout.js +216 -186
  41. package/dist/components/views/WidgetView.js +11 -2
  42. package/dist/components/views/standalone/modals/AccountHubModal.d.ts +8 -3
  43. package/dist/components/views/standalone/modals/AccountHubModal.js +16 -2
  44. package/dist/components/views/standalone/modals/AccountHubModal.test.d.ts +1 -0
  45. package/dist/components/views/standalone/modals/AccountHubModal.test.js +26 -0
  46. package/dist/components/views/standalone/modals/SyncStatusModal.js +1 -1
  47. package/dist/core/DeletedTaskLifecycleService.d.ts +2 -1
  48. package/dist/core/EntitlementsPolicy.test.js +2 -2
  49. package/dist/core/GlobalSettingsService.js +78 -18
  50. package/dist/core/PlanEntitlementService.d.ts +31 -5
  51. package/dist/core/PlanEntitlementService.js +350 -222
  52. package/dist/core/SignupMonetizationSettings.test.js +208 -49
  53. package/dist/core/SystemAdmin.test.js +186 -96
  54. package/dist/core/TaskActivityService.d.ts +4 -1
  55. package/dist/core/TaskActivityService.js +45 -0
  56. package/dist/core/TaskAuditTimeline.test.js +52 -1
  57. package/dist/core/Taskforce.d.ts +65 -20
  58. package/dist/core/Taskforce.js +261 -51
  59. package/dist/core/Taskforce.mcpAuth.test.js +0 -2
  60. package/dist/core/UserProfileAvatarDrafts.test.js +12 -3
  61. package/dist/core/WorkspacePlanMode.test.js +65 -0
  62. package/dist/core/types.d.ts +11 -12
  63. package/dist/documentReviews/service.d.ts +1 -1
  64. package/dist/documentReviews/types.d.ts +1 -1
  65. package/dist/hooks/auth/useTaskforceAuthBootstrap.d.ts +48 -0
  66. package/dist/hooks/auth/useTaskforceAuthBootstrap.js +219 -0
  67. package/dist/hooks/sync/auth.d.ts +37 -0
  68. package/dist/hooks/sync/auth.js +61 -0
  69. package/dist/hooks/sync/bootstrap.d.ts +34 -0
  70. package/dist/hooks/sync/bootstrap.js +52 -0
  71. package/dist/hooks/sync/orchestratorShared.d.ts +36 -0
  72. package/dist/hooks/sync/orchestratorShared.js +209 -0
  73. package/dist/hooks/sync/orchestratorShared.test.d.ts +1 -0
  74. package/dist/hooks/sync/orchestratorShared.test.js +49 -0
  75. package/dist/hooks/sync/realtime.d.ts +25 -0
  76. package/dist/hooks/sync/realtime.js +60 -0
  77. package/dist/hooks/sync/recovery.d.ts +69 -0
  78. package/dist/hooks/sync/recovery.js +118 -0
  79. package/dist/hooks/sync/transfers.d.ts +122 -0
  80. package/dist/hooks/sync/transfers.js +431 -0
  81. package/dist/hooks/sync/useDataVersionRefresh.d.ts +16 -0
  82. package/dist/hooks/sync/useDataVersionRefresh.js +73 -0
  83. package/dist/hooks/ui/useResourceExport.d.ts +3 -1
  84. package/dist/hooks/ui/useResourceExport.js +5 -2
  85. package/dist/hooks/ui/useWorkflowTemplates.js +11 -6
  86. package/dist/hooks/useRealtimeSync.js +2 -1
  87. package/dist/hooks/useSyncOrchestrator.aiProfiles.test.js +8 -0
  88. package/dist/hooks/useSyncOrchestrator.context-assets.test.d.ts +1 -0
  89. package/dist/hooks/useSyncOrchestrator.context-assets.test.js +228 -0
  90. package/dist/hooks/useSyncOrchestrator.d.ts +5 -4
  91. package/dist/hooks/useSyncOrchestrator.js +315 -860
  92. package/dist/hooks/useSyncOrchestrator.retry-closure.test.js +665 -8
  93. package/dist/hooks/useTaskMutations.js +45 -6
  94. package/dist/hooks/useTaskMutations.test.js +147 -0
  95. package/dist/hooks/useTaskforce.d.ts +11 -2
  96. package/dist/hooks/useTaskforce.js +290 -812
  97. package/dist/hooks/useWorkspaceSyncController.d.ts +1 -0
  98. package/dist/hooks/useWorkspaceSyncController.js +22 -10
  99. package/dist/hooks/workspace/useTaskforceApiRouting.test.js +17 -0
  100. package/dist/hooks/workspace/useTaskforceWorkspaceBootstrap.d.ts +166 -0
  101. package/dist/hooks/workspace/useTaskforceWorkspaceBootstrap.js +434 -0
  102. package/dist/hooks/workspace/workspaceLocalState.d.ts +19 -0
  103. package/dist/hooks/workspace/workspaceLocalState.js +100 -0
  104. package/dist/hooks/workspace/workspaceLocalState.test.d.ts +1 -0
  105. package/dist/hooks/workspace/workspaceLocalState.test.js +59 -0
  106. package/dist/localization/locales/en-US.js +2 -2
  107. package/dist/mcp/canonicalAssetHelpers.d.ts +70 -0
  108. package/dist/mcp/canonicalAssetHelpers.js +259 -0
  109. package/dist/mcp/clientIntegrations.d.ts +12 -1
  110. package/dist/mcp/clientIntegrations.js +161 -6
  111. package/dist/mcp/clientIntegrations.test.js +76 -4
  112. package/dist/mcp/documentHelpers.d.ts +100 -0
  113. package/dist/mcp/documentHelpers.js +161 -0
  114. package/dist/mcp/runtime.js +264 -505
  115. package/dist/mcp/runtime.test.js +353 -89
  116. package/dist/mcp/taskAttachmentHelpers.d.ts +41 -0
  117. package/dist/mcp/taskAttachmentHelpers.js +60 -0
  118. package/dist/mcp/taskAttachmentTypes.d.ts +37 -0
  119. package/dist/mcp/taskAttachmentTypes.js +1 -0
  120. package/dist/migrations/billingSchemaParity.test.js +3 -0
  121. package/dist/migrations/taskSchemaMigrations.js +15 -0
  122. package/dist/plugins/vite.js +1 -1
  123. package/dist/runtime/appGateDefinitions.d.ts +1 -1
  124. package/dist/runtime/appGateDefinitions.js +1 -1
  125. package/dist/server/index.cookieProxy.test.js +1 -0
  126. package/dist/server/index.d.ts +1 -0
  127. package/dist/server/index.js +48 -3
  128. package/dist/server/index.test.js +14 -2
  129. package/dist/server/mockStripe.d.ts +1 -0
  130. package/dist/server/mockStripe.js +2 -0
  131. package/dist/server/routes/admin.js +91 -40
  132. package/dist/server/routes/auth.d.ts +1 -0
  133. package/dist/server/routes/auth.js +231 -55
  134. package/dist/server/routes/billing.js +473 -39
  135. package/dist/server/routes/billing.test.js +972 -37
  136. package/dist/server/routes/shared.d.ts +30 -0
  137. package/dist/server/routes/shared.js +31 -3
  138. package/dist/server/routes/sync.integration.test.js +180 -0
  139. package/dist/server/routes/sync.js +125 -242
  140. package/dist/server/routes/tasks.js +49 -7
  141. package/dist/server/routes.js +11 -22
  142. package/dist/server/routes.test.js +530 -81
  143. package/dist/shared/taskActor.d.ts +10 -0
  144. package/dist/shared/taskActor.js +1 -0
  145. package/dist/sync/cloudSyncApi.d.ts +1 -0
  146. package/dist/sync/collaborationSyncPayload.js +4 -0
  147. package/dist/sync/collaborationSyncPayload.test.js +8 -0
  148. package/dist/sync/collaborationSyncState.d.ts +3 -1
  149. package/dist/sync/collaborationSyncState.js +19 -0
  150. package/dist/sync/contentSyncState.d.ts +10 -0
  151. package/dist/sync/contentSyncState.js +277 -14
  152. package/dist/sync/syncApplyHandlers.d.ts +87 -1
  153. package/dist/sync/syncApplyHandlers.js +370 -8
  154. package/dist/sync/syncApplyHandlers.test.d.ts +1 -0
  155. package/dist/sync/syncApplyHandlers.test.js +377 -0
  156. package/dist/sync/syncService.d.ts +9 -1
  157. package/dist/sync/syncService.js +57 -10
  158. package/dist/sync/syncService.test.js +48 -0
  159. package/dist/sync/workspacePullFeed.d.ts +11 -0
  160. package/dist/sync/workspacePullFeed.js +123 -68
  161. package/dist/sync/workspacePullFeed.test.js +180 -0
  162. package/dist/sync/workspaceSyncModel.d.ts +22 -1
  163. package/dist/sync/workspaceSyncModel.js +65 -0
  164. package/dist/sync/workspaceSyncModel.test.js +119 -0
  165. package/dist/types.d.ts +2 -10
  166. package/dist/ui/assets/AgentsModule-BLWVbuKP.js +1 -0
  167. package/dist/ui/assets/{AnnotatedAttachmentWorkspace-Dvi02Y7q.js → AnnotatedAttachmentWorkspace-BlS-cqnl.js} +1 -1
  168. package/dist/ui/assets/{DocumentWorkspace-iys3zfca.js → DocumentWorkspace-BH_6DF6x.js} +1 -1
  169. package/dist/ui/assets/{InitiativesModule-DJvLJI3A.js → InitiativesModule-BjR6iBf9.js} +1 -1
  170. package/dist/ui/assets/{PlansPage-BlVC_lRq.css → PlansPage-C2dd2n1X.css} +1 -1
  171. package/dist/ui/assets/PlansPage-CSDQ4sLa.js +1 -0
  172. package/dist/ui/assets/TaskSettings-CEDy34Jo.js +9 -0
  173. package/dist/ui/assets/{WorkflowsModule-BguHeQaV.js → WorkflowsModule-DnFqdUME.js} +1 -1
  174. package/dist/ui/assets/index-DXUdtH1B.js +6 -0
  175. package/dist/ui/assets/index-Ii0B0rTO.css +1 -0
  176. package/dist/ui/assets/{vendor-icons-C8EED3Oh.js → vendor-icons-I7ZwG1z_.js} +1 -1
  177. package/dist/ui/index.html +4 -4
  178. package/dist/utils/accountProfileSummaryCache.d.ts +31 -0
  179. package/dist/utils/accountProfileSummaryCache.js +97 -0
  180. package/dist/utils/accountProfileSummaryCache.test.d.ts +1 -0
  181. package/dist/utils/accountProfileSummaryCache.test.js +63 -0
  182. package/dist/utils/taskActivity.js +4 -0
  183. package/dist/utils/taskActivity.test.js +25 -1
  184. package/package.json +5 -3
  185. package/scripts/playwright-auth.sh +4 -0
  186. package/dist/ui/assets/AgentsModule-JG5jc3he.js +0 -1
  187. package/dist/ui/assets/PlansPage-BMPlpFpw.js +0 -1
  188. package/dist/ui/assets/TaskSettings-Bqd4cCzW.js +0 -8
  189. package/dist/ui/assets/index-MXeWoebC.css +0 -1
  190. package/dist/ui/assets/index-YJ4k5QNa.js +0 -6
  191. package/dist/utils/billingStatusCache.d.ts +0 -21
  192. package/dist/utils/billingStatusCache.js +0 -70
@@ -173,6 +173,7 @@
173
173
  display: inline-flex;
174
174
  align-items: center;
175
175
  justify-content: center;
176
+ gap: 6px;
176
177
  background: var(--surface-page);
177
178
  color: var(--text-secondary);
178
179
  font-size: 12px;
@@ -185,6 +186,16 @@
185
186
  margin-left: 8px;
186
187
  }
187
188
 
189
+ .taskCountBadgeIcon {
190
+ flex: 0 0 auto;
191
+ }
192
+
193
+ .taskCountBadgeAlert {
194
+ color: #f87171;
195
+ border-color: color-mix(in srgb, #ef4444 45%, var(--border-default));
196
+ box-shadow: 0 0 10px rgba(239, 68, 68, 0.18);
197
+ }
198
+
188
199
  .headerActions {
189
200
  display: flex;
190
201
  align-items: center;
@@ -3859,6 +3870,65 @@
3859
3870
  letter-spacing: 0.08em;
3860
3871
  }
3861
3872
 
3873
+ .codeHeaderDescription {
3874
+ font-size: 11px;
3875
+ color: var(--text-muted, #666);
3876
+ line-height: 1.4;
3877
+ max-width: none;
3878
+ width: 100%;
3879
+ }
3880
+
3881
+ .mcpTokenCardBody {
3882
+ display: flex;
3883
+ flex-direction: column;
3884
+ gap: 12px;
3885
+ padding: 14px 16px 10px;
3886
+ background: color-mix(in srgb, var(--bg-secondary, #171726) 88%, transparent);
3887
+ }
3888
+
3889
+ .mcpTokenFormGrid {
3890
+ display: grid;
3891
+ grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
3892
+ gap: 12px;
3893
+ align-items: end;
3894
+ }
3895
+
3896
+ .mcpTokenOutputWrap {
3897
+ display: flex;
3898
+ flex-direction: column;
3899
+ gap: 6px;
3900
+ padding: 0 16px;
3901
+ }
3902
+
3903
+ .mcpTokenValueField {
3904
+ display: flex;
3905
+ align-items: center;
3906
+ min-height: 44px;
3907
+ padding: 10px 14px;
3908
+ border: 1px solid var(--border-primary, rgba(255, 255, 255, 0.1));
3909
+ border-radius: 12px;
3910
+ background: var(--bg-primary, #0f0f1a);
3911
+ }
3912
+
3913
+ .mcpTokenValueText {
3914
+ font-family: "JetBrains Mono", "Fira Code", monospace;
3915
+ font-size: 13px;
3916
+ line-height: 1.5;
3917
+ word-break: break-all;
3918
+ width: 100%;
3919
+ }
3920
+
3921
+ .mcpTokenValueText code {
3922
+ font-family: inherit;
3923
+ font-size: inherit;
3924
+ }
3925
+
3926
+ .mcpTokenActionRow {
3927
+ display: flex;
3928
+ justify-content: flex-end;
3929
+ padding: 8px 16px 14px;
3930
+ }
3931
+
3862
3932
  .codeBlock {
3863
3933
  margin: 0;
3864
3934
  background: #1e1e2e !important;
@@ -4574,6 +4644,12 @@
4574
4644
  height: 16px;
4575
4645
  }
4576
4646
 
4647
+ @media (max-width: 900px) {
4648
+ .mcpTokenFormGrid {
4649
+ grid-template-columns: 1fr;
4650
+ }
4651
+ }
4652
+
4577
4653
  .marginTop12 {
4578
4654
  margin-top: 12px;
4579
4655
  }
@@ -4668,19 +4744,43 @@
4668
4744
 
4669
4745
  .aiProfilesExplorer {
4670
4746
  display: grid;
4671
- grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
4747
+ grid-template-columns: 360px 360px;
4672
4748
  gap: 16px;
4673
4749
  align-items: start;
4750
+ justify-content: start;
4674
4751
  }
4675
4752
 
4676
4753
  .aiProfilesListPane {
4677
4754
  min-width: 0;
4755
+ max-height: min(72vh, 780px);
4756
+ overflow-y: auto;
4757
+ overscroll-behavior: contain;
4758
+ padding-right: 6px;
4759
+ scrollbar-gutter: stable;
4760
+ scrollbar-width: thin;
4761
+ scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
4762
+ }
4763
+
4764
+ .aiProfilesListPane::-webkit-scrollbar {
4765
+ width: 10px;
4766
+ }
4767
+
4768
+ .aiProfilesListPane::-webkit-scrollbar-track {
4769
+ background: var(--scrollbar-track);
4770
+ border-radius: 999px;
4771
+ }
4772
+
4773
+ .aiProfilesListPane::-webkit-scrollbar-thumb {
4774
+ background: var(--scrollbar-thumb);
4775
+ border-radius: 999px;
4776
+ border: 2px solid var(--scrollbar-track);
4678
4777
  }
4679
4778
 
4680
4779
  .aiProfilesList {
4681
4780
  display: flex;
4682
4781
  flex-direction: column;
4683
4782
  gap: 16px;
4783
+ min-width: 0;
4684
4784
  }
4685
4785
 
4686
4786
  .aiProfilesSection {
@@ -4708,7 +4808,8 @@
4708
4808
  color: inherit;
4709
4809
  background: rgba(255, 255, 255, 0.02);
4710
4810
  cursor: pointer;
4711
- transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
4811
+ box-sizing: border-box;
4812
+ transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
4712
4813
  }
4713
4814
 
4714
4815
  .aiProfileGroup:hover {
@@ -4722,7 +4823,6 @@
4722
4823
  linear-gradient(135deg, rgba(59, 130, 246, 0.14), rgba(14, 165, 233, 0.06)),
4723
4824
  rgba(255, 255, 255, 0.04);
4724
4825
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.16);
4725
- transform: translateY(-1px);
4726
4826
  }
4727
4827
 
4728
4828
  .aiProfileGroupDuplicate {
@@ -4823,11 +4923,13 @@
4823
4923
  }
4824
4924
 
4825
4925
  .aiProfileDetailPane {
4926
+ min-width: 0;
4826
4927
  position: sticky;
4827
4928
  top: 16px;
4828
4929
  }
4829
4930
 
4830
4931
  .aiProfileDetailCard {
4932
+ min-width: 0;
4831
4933
  border: 1px solid var(--border-primary, rgba(255, 255, 255, 0.08));
4832
4934
  border-radius: var(--radius-md);
4833
4935
  padding: 18px;
@@ -4873,6 +4975,7 @@
4873
4975
  font-size: 17px;
4874
4976
  line-height: 1.15;
4875
4977
  color: var(--text-primary, #fff);
4978
+ overflow-wrap: anywhere;
4876
4979
  }
4877
4980
 
4878
4981
  .aiProfileDetailMetaRow {
@@ -5007,9 +5110,14 @@
5007
5110
  color: var(--text-secondary, #94a3b8);
5008
5111
  }
5009
5112
 
5010
- @media (max-width: 980px) {
5113
+ @media (max-width: 1100px) {
5011
5114
  .aiProfilesExplorer {
5012
- grid-template-columns: 1fr;
5115
+ grid-template-columns: minmax(0, 1fr);
5116
+ }
5117
+
5118
+ .aiProfilesListPane {
5119
+ max-height: min(52vh, 420px);
5120
+ padding-right: 2px;
5013
5121
  }
5014
5122
 
5015
5123
  .aiProfileDetailPane {