@taskforcehq/taskforce 0.3.309 → 0.3.313

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 (470) hide show
  1. package/README.md +89 -127
  2. package/dist/TaskforceCore.js +1 -1
  3. package/dist/components/context/ContextAttachmentManager.js +4 -3
  4. package/dist/components/features/InitiativesModule.js +1 -1
  5. package/dist/components/features/TaskSettings.js +1 -1
  6. package/dist/components/ui/DisclosureSectionHeader.d.ts +12 -0
  7. package/dist/components/ui/DisclosureSectionHeader.js +8 -0
  8. package/dist/components/views/PlanComparisonPage.js +1 -1
  9. package/dist/components/views/StandaloneLayout.js +18 -4
  10. package/dist/components/views/panels/PlanningDrawer.js +2 -1
  11. package/dist/components/views/standalone/modals/AccountHubModal.js +1 -1
  12. package/dist/components/views/standalone/modals/HelpModal.d.ts +3 -1
  13. package/dist/components/views/standalone/modals/HelpModal.js +17 -2
  14. package/dist/core/PlanEntitlementService.d.ts +2 -0
  15. package/dist/core/PlanEntitlementService.js +57 -4
  16. package/dist/hooks/useFilterSort.js +1 -1
  17. package/dist/hooks/useTaskforce.js +2 -2
  18. package/dist/hooks/workspace/useTaskforceWorkspaceBootstrap.js +5 -2
  19. package/dist/localization/locales/en-US.js +1 -1
  20. package/dist/localization/locales/es-419.js +1 -1
  21. package/dist/localization/locales/pt-BR.js +1 -1
  22. package/dist/mcp/runtime.js +49 -14
  23. package/dist/server/routes/billing.js +0 -1
  24. package/dist/ui/assets/AgentsModule-BULqIo8e.js +1 -0
  25. package/dist/ui/assets/{AnnotatedAttachmentWorkspace-CCckzWYZ.js → AnnotatedAttachmentWorkspace-DHr4rHK9.js} +1 -1
  26. package/dist/ui/assets/ContextAttachmentManager-DoMe2OpY.js +3 -0
  27. package/dist/ui/assets/{DocumentWorkspace-BVaWPA25.js → DocumentWorkspace-DumBWhvb.js} +1 -1
  28. package/dist/ui/assets/{EntityActivityTimeline-DSj0ThaK.js → EntityActivityTimeline-sHk8Nzbq.js} +1 -1
  29. package/dist/ui/assets/{InitiativesModule-AxMkWtxH.js → InitiativesModule-3X9UNzHh.js} +1 -1
  30. package/dist/ui/assets/PlansPage-C3A3EYaV.js +1 -0
  31. package/dist/ui/assets/PlansPage-DeAzWYTb.css +1 -0
  32. package/dist/ui/assets/{TaskContextUpload-Dw4rTF4i.js → TaskContextUpload-C8G7pWkX.js} +1 -1
  33. package/dist/ui/assets/{TaskSettings-f2ga42_V.js → TaskSettings-DM1o9Wla.js} +2 -2
  34. package/dist/ui/assets/{WorkflowsModule-E4UL3mov.js → WorkflowsModule-CW0crzvD.js} +1 -1
  35. package/dist/ui/assets/documentReferences-BZB3nMRb.js +1 -0
  36. package/dist/ui/assets/index-BWFQ9mGn.js +5 -0
  37. package/dist/ui/assets/{index-BvAbqx5Q.css → index-DcK_8tuE.css} +1 -1
  38. package/dist/ui/assets/{vendor-icons-B32hGuF2.js → vendor-icons-CLnehDTw.js} +1 -1
  39. package/dist/ui/index.html +3 -3
  40. package/dist/utils/supportContact.d.ts +9 -0
  41. package/dist/utils/supportContact.js +32 -0
  42. package/package.json +12 -4
  43. package/scripts/postinstall.js +4 -3
  44. package/dist/TaskforceCore.CategoryFallback.test.d.ts +0 -1
  45. package/dist/TaskforceCore.CategoryFallback.test.js +0 -101
  46. package/dist/TaskforceCore.filter-persistence.test.d.ts +0 -1
  47. package/dist/TaskforceCore.filter-persistence.test.js +0 -402
  48. package/dist/TaskforceCore.routing.test.d.ts +0 -1
  49. package/dist/TaskforceCore.routing.test.js +0 -311
  50. package/dist/TaskforceCore.test.d.ts +0 -1
  51. package/dist/TaskforceCore.test.js +0 -7910
  52. package/dist/TaskforceWidget.test.d.ts +0 -1
  53. package/dist/TaskforceWidget.test.js +0 -92
  54. package/dist/UnsavedChangesRelaxed.test.d.ts +0 -1
  55. package/dist/UnsavedChangesRelaxed.test.js +0 -16
  56. package/dist/__tests__/localizationCatalogs.test.d.ts +0 -1
  57. package/dist/__tests__/localizationCatalogs.test.js +0 -54
  58. package/dist/__tests__/workflowSimulation.test.d.ts +0 -1
  59. package/dist/__tests__/workflowSimulation.test.js +0 -113
  60. package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.test.d.ts +0 -1
  61. package/dist/annotatedAttachments/AnnotatedAttachmentSessionStore.test.js +0 -278
  62. package/dist/annotatedAttachments/payload.test.d.ts +0 -1
  63. package/dist/annotatedAttachments/payload.test.js +0 -67
  64. package/dist/compat/workspaceSyncCompat.test.d.ts +0 -1
  65. package/dist/compat/workspaceSyncCompat.test.js +0 -124
  66. package/dist/components/features/AgentsModule.test.d.ts +0 -1
  67. package/dist/components/features/AgentsModule.test.js +0 -601
  68. package/dist/components/features/AnnotatedAttachmentWorkspace.test.d.ts +0 -1
  69. package/dist/components/features/AnnotatedAttachmentWorkspace.test.js +0 -2883
  70. package/dist/components/features/DocumentWorkspace.test.d.ts +0 -1
  71. package/dist/components/features/DocumentWorkspace.test.js +0 -1439
  72. package/dist/components/features/TaskSettings.test.d.ts +0 -1
  73. package/dist/components/features/TaskSettings.test.js +0 -1674
  74. package/dist/components/features/settings/TaxonomyLibraryManager.test.d.ts +0 -1
  75. package/dist/components/features/settings/TaxonomyLibraryManager.test.js +0 -141
  76. package/dist/components/task/TaskActionHeader.test.d.ts +0 -1
  77. package/dist/components/task/TaskActionHeader.test.js +0 -91
  78. package/dist/components/task/TaskCard.test.d.ts +0 -1
  79. package/dist/components/task/TaskCard.test.js +0 -513
  80. package/dist/components/task/TaskContextUpload.test.d.ts +0 -1
  81. package/dist/components/task/TaskContextUpload.test.js +0 -506
  82. package/dist/components/task/TaskForm.test.d.ts +0 -1
  83. package/dist/components/task/TaskForm.test.js +0 -946
  84. package/dist/components/task/TaskKanban.empty-column-drop.test.d.ts +0 -1
  85. package/dist/components/task/TaskKanban.empty-column-drop.test.js +0 -66
  86. package/dist/components/task/TaskKanban.planning-drop.test.d.ts +0 -1
  87. package/dist/components/task/TaskKanban.planning-drop.test.js +0 -93
  88. package/dist/components/task/TaskKanban.test.d.ts +0 -1
  89. package/dist/components/task/TaskKanban.test.js +0 -99
  90. package/dist/components/task/TaskList.test.d.ts +0 -1
  91. package/dist/components/task/TaskList.test.js +0 -473
  92. package/dist/components/task/TaskStatusActions.test.d.ts +0 -1
  93. package/dist/components/task/TaskStatusActions.test.js +0 -54
  94. package/dist/components/task/taskKanbanDropRules.test.d.ts +0 -1
  95. package/dist/components/task/taskKanbanDropRules.test.js +0 -114
  96. package/dist/components/ui/LevelSelector.test.d.ts +0 -1
  97. package/dist/components/ui/LevelSelector.test.js +0 -55
  98. package/dist/components/ui/Markdown.test.d.ts +0 -1
  99. package/dist/components/ui/Markdown.test.js +0 -38
  100. package/dist/components/ui/MultiSelectFilter.test.d.ts +0 -1
  101. package/dist/components/ui/MultiSelectFilter.test.js +0 -74
  102. package/dist/components/ui/TaxonomyDropdown.test.d.ts +0 -1
  103. package/dist/components/ui/TaxonomyDropdown.test.js +0 -130
  104. package/dist/components/ui/TopNoticeLayer.test.d.ts +0 -1
  105. package/dist/components/ui/TopNoticeLayer.test.js +0 -25
  106. package/dist/components/views/AppShellHeader.test.d.ts +0 -1
  107. package/dist/components/views/AppShellHeader.test.js +0 -42
  108. package/dist/components/views/PlanComparisonPage.test.d.ts +0 -1
  109. package/dist/components/views/PlanComparisonPage.test.js +0 -757
  110. package/dist/components/views/PlansPage.test.d.ts +0 -1
  111. package/dist/components/views/PlansPage.test.js +0 -710
  112. package/dist/components/views/chrome/WorkspaceChromeSections.test.d.ts +0 -1
  113. package/dist/components/views/chrome/WorkspaceChromeSections.test.js +0 -54
  114. package/dist/components/views/chrome/workspaceChrome.test.d.ts +0 -1
  115. package/dist/components/views/chrome/workspaceChrome.test.js +0 -52
  116. package/dist/components/views/panels/DocumentFilterToolbar.test.d.ts +0 -1
  117. package/dist/components/views/panels/DocumentFilterToolbar.test.js +0 -19
  118. package/dist/components/views/panels/FilterToolbar.test.d.ts +0 -1
  119. package/dist/components/views/panels/FilterToolbar.test.js +0 -47
  120. package/dist/components/views/panels/PlanningDrawer.test.d.ts +0 -1
  121. package/dist/components/views/panels/PlanningDrawer.test.js +0 -529
  122. package/dist/components/views/planningScope.test.d.ts +0 -1
  123. package/dist/components/views/planningScope.test.js +0 -60
  124. package/dist/components/views/standalone/modals/AccountHubModal.test.d.ts +0 -1
  125. package/dist/components/views/standalone/modals/AccountHubModal.test.js +0 -66
  126. package/dist/components/views/standalone/modals/SyncEnableWarningModal.test.d.ts +0 -1
  127. package/dist/components/views/standalone/modals/SyncEnableWarningModal.test.js +0 -24
  128. package/dist/components/views/teamManagementAccess.test.d.ts +0 -1
  129. package/dist/components/views/teamManagementAccess.test.js +0 -44
  130. package/dist/config/deployment.test.d.ts +0 -1
  131. package/dist/config/deployment.test.js +0 -90
  132. package/dist/config/envSchema.test.d.ts +0 -1
  133. package/dist/config/envSchema.test.js +0 -125
  134. package/dist/core/AiProfileService.test.d.ts +0 -1
  135. package/dist/core/AiProfileService.test.js +0 -184
  136. package/dist/core/AiProfiles.test.d.ts +0 -1
  137. package/dist/core/AiProfiles.test.js +0 -1873
  138. package/dist/core/AuthTokenService.test.d.ts +0 -1
  139. package/dist/core/AuthTokenService.test.js +0 -78
  140. package/dist/core/BulkUpdateFieldsPreview.test.d.ts +0 -1
  141. package/dist/core/BulkUpdateFieldsPreview.test.js +0 -62
  142. package/dist/core/CompletedAt.test.d.ts +0 -1
  143. package/dist/core/CompletedAt.test.js +0 -44
  144. package/dist/core/CreatedBy.test.d.ts +0 -1
  145. package/dist/core/CreatedBy.test.js +0 -188
  146. package/dist/core/DeletedTaskTrash.test.d.ts +0 -1
  147. package/dist/core/DeletedTaskTrash.test.js +0 -104
  148. package/dist/core/EntitlementsPolicy.test.d.ts +0 -1
  149. package/dist/core/EntitlementsPolicy.test.js +0 -280
  150. package/dist/core/GlobalSettingsService.test.d.ts +0 -1
  151. package/dist/core/GlobalSettingsService.test.js +0 -45
  152. package/dist/core/JsonBackupRuntime.test.d.ts +0 -1
  153. package/dist/core/JsonBackupRuntime.test.js +0 -155
  154. package/dist/core/PlanFeatureCatalog.test.d.ts +0 -1
  155. package/dist/core/PlanFeatureCatalog.test.js +0 -139
  156. package/dist/core/PlanVersionPolicy.test.d.ts +0 -1
  157. package/dist/core/PlanVersionPolicy.test.js +0 -204
  158. package/dist/core/PlanningEntities.test.d.ts +0 -1
  159. package/dist/core/PlanningEntities.test.js +0 -509
  160. package/dist/core/ScheduleFields.test.d.ts +0 -1
  161. package/dist/core/ScheduleFields.test.js +0 -193
  162. package/dist/core/SetupState.test.d.ts +0 -1
  163. package/dist/core/SetupState.test.js +0 -113
  164. package/dist/core/SignupMonetizationSettings.test.d.ts +0 -1
  165. package/dist/core/SignupMonetizationSettings.test.js +0 -515
  166. package/dist/core/Stats.test.d.ts +0 -1
  167. package/dist/core/Stats.test.js +0 -36
  168. package/dist/core/SystemAdmin.test.d.ts +0 -1
  169. package/dist/core/SystemAdmin.test.js +0 -1106
  170. package/dist/core/TaskActivitySync.test.d.ts +0 -1
  171. package/dist/core/TaskActivitySync.test.js +0 -90
  172. package/dist/core/TaskAttachmentsCanonical.test.d.ts +0 -1
  173. package/dist/core/TaskAttachmentsCanonical.test.js +0 -356
  174. package/dist/core/TaskAuditTimeline.test.d.ts +0 -1
  175. package/dist/core/TaskAuditTimeline.test.js +0 -319
  176. package/dist/core/TaskTaxonomyValidation.test.d.ts +0 -1
  177. package/dist/core/TaskTaxonomyValidation.test.js +0 -440
  178. package/dist/core/Taskforce.ids.test.d.ts +0 -1
  179. package/dist/core/Taskforce.ids.test.js +0 -611
  180. package/dist/core/Taskforce.listTasksSlim.test.d.ts +0 -1
  181. package/dist/core/Taskforce.listTasksSlim.test.js +0 -91
  182. package/dist/core/Taskforce.mcpAuth.test.d.ts +0 -1
  183. package/dist/core/Taskforce.mcpAuth.test.js +0 -450
  184. package/dist/core/Taskforce.realtimeMutation.test.d.ts +0 -1
  185. package/dist/core/Taskforce.realtimeMutation.test.js +0 -131
  186. package/dist/core/UserProfileAvatarDrafts.test.d.ts +0 -1
  187. package/dist/core/UserProfileAvatarDrafts.test.js +0 -138
  188. package/dist/core/WorkspaceDelete.test.d.ts +0 -1
  189. package/dist/core/WorkspaceDelete.test.js +0 -159
  190. package/dist/core/WorkspacePermissions.test.d.ts +0 -1
  191. package/dist/core/WorkspacePermissions.test.js +0 -270
  192. package/dist/core/WorkspacePlanMode.test.d.ts +0 -1
  193. package/dist/core/WorkspacePlanMode.test.js +0 -383
  194. package/dist/core/WorkspaceSyncSettings.test.d.ts +0 -1
  195. package/dist/core/WorkspaceSyncSettings.test.js +0 -65
  196. package/dist/core/__tests__/TaskAttachmentsCanonical.test.d.ts +0 -1
  197. package/dist/core/__tests__/TaskAttachmentsCanonical.test.js +0 -212
  198. package/dist/documentReviews/DocumentReviewSessionStore.test.d.ts +0 -1
  199. package/dist/documentReviews/DocumentReviewSessionStore.test.js +0 -127
  200. package/dist/hooks/authGuardPolicy.test.d.ts +0 -1
  201. package/dist/hooks/authGuardPolicy.test.js +0 -76
  202. package/dist/hooks/bootstrapTimeouts.test.d.ts +0 -1
  203. package/dist/hooks/bootstrapTimeouts.test.js +0 -12
  204. package/dist/hooks/sync/controlPlane.test.d.ts +0 -1
  205. package/dist/hooks/sync/controlPlane.test.js +0 -121
  206. package/dist/hooks/sync/lifecyclePolicy.test.d.ts +0 -1
  207. package/dist/hooks/sync/lifecyclePolicy.test.js +0 -124
  208. package/dist/hooks/sync/orchestratorShared.test.d.ts +0 -1
  209. package/dist/hooks/sync/orchestratorShared.test.js +0 -98
  210. package/dist/hooks/sync/pullLifecycle.test.d.ts +0 -1
  211. package/dist/hooks/sync/pullLifecycle.test.js +0 -80
  212. package/dist/hooks/sync/recovery.test.d.ts +0 -1
  213. package/dist/hooks/sync/recovery.test.js +0 -292
  214. package/dist/hooks/sync/transfers.test.d.ts +0 -1
  215. package/dist/hooks/sync/transfers.test.js +0 -928
  216. package/dist/hooks/sync/useRecentSyncEvents.test.d.ts +0 -1
  217. package/dist/hooks/sync/useRecentSyncEvents.test.js +0 -124
  218. package/dist/hooks/sync/useSyncStatusActions.test.d.ts +0 -1
  219. package/dist/hooks/sync/useSyncStatusActions.test.js +0 -133
  220. package/dist/hooks/sync/useSyncStatusControls.test.d.ts +0 -1
  221. package/dist/hooks/sync/useSyncStatusControls.test.js +0 -88
  222. package/dist/hooks/useFilterSort.test.d.ts +0 -1
  223. package/dist/hooks/useFilterSort.test.js +0 -419
  224. package/dist/hooks/useRealtimeSync.test.d.ts +0 -1
  225. package/dist/hooks/useRealtimeSync.test.js +0 -311
  226. package/dist/hooks/useSyncOrchestrator.aiProfiles.test.d.ts +0 -1
  227. package/dist/hooks/useSyncOrchestrator.aiProfiles.test.js +0 -54
  228. package/dist/hooks/useSyncOrchestrator.context-assets.test.d.ts +0 -1
  229. package/dist/hooks/useSyncOrchestrator.context-assets.test.js +0 -228
  230. package/dist/hooks/useSyncOrchestrator.retry-closure.test.d.ts +0 -1
  231. package/dist/hooks/useSyncOrchestrator.retry-closure.test.js +0 -2027
  232. package/dist/hooks/useTaskData.test.d.ts +0 -1
  233. package/dist/hooks/useTaskData.test.js +0 -291
  234. package/dist/hooks/useTaskMutations.test.d.ts +0 -1
  235. package/dist/hooks/useTaskMutations.test.js +0 -256
  236. package/dist/hooks/useTaskforce.contract.test.d.ts +0 -1
  237. package/dist/hooks/useTaskforce.contract.test.js +0 -7
  238. package/dist/hooks/useTaskforce.priority-filters.test.d.ts +0 -1
  239. package/dist/hooks/useTaskforce.priority-filters.test.js +0 -28
  240. package/dist/hooks/useTaskforce.runtime-routing.test.d.ts +0 -1
  241. package/dist/hooks/useTaskforce.runtime-routing.test.js +0 -246
  242. package/dist/hooks/useTaskforce.sync-behavior.test.d.ts +0 -1
  243. package/dist/hooks/useTaskforce.sync-behavior.test.js +0 -3644
  244. package/dist/hooks/useWorkspaceSyncController.test.d.ts +0 -1
  245. package/dist/hooks/useWorkspaceSyncController.test.js +0 -192
  246. package/dist/hooks/workspace/useTaskforceApiRouting.test.d.ts +0 -1
  247. package/dist/hooks/workspace/useTaskforceApiRouting.test.js +0 -77
  248. package/dist/hooks/workspace/workspaceLocalState.test.d.ts +0 -1
  249. package/dist/hooks/workspace/workspaceLocalState.test.js +0 -59
  250. package/dist/localization/localizationCatalogs.test.d.ts +0 -1
  251. package/dist/localization/localizationCatalogs.test.js +0 -37
  252. package/dist/mcp/aiProfileBootstrap.test.d.ts +0 -1
  253. package/dist/mcp/aiProfileBootstrap.test.js +0 -68
  254. package/dist/mcp/canonicalAssetHelpers.test.d.ts +0 -1
  255. package/dist/mcp/canonicalAssetHelpers.test.js +0 -67
  256. package/dist/mcp/clientIntegrations.test.d.ts +0 -1
  257. package/dist/mcp/clientIntegrations.test.js +0 -219
  258. package/dist/mcp/optionResolution.test.d.ts +0 -1
  259. package/dist/mcp/optionResolution.test.js +0 -43
  260. package/dist/mcp/runtime.test.d.ts +0 -1
  261. package/dist/mcp/runtime.test.js +0 -5120
  262. package/dist/mcp/structuredCommentValidation.test.d.ts +0 -1
  263. package/dist/mcp/structuredCommentValidation.test.js +0 -31
  264. package/dist/mcp/structuredDocValidation.test.d.ts +0 -1
  265. package/dist/mcp/structuredDocValidation.test.js +0 -35
  266. package/dist/mcp/toolRegistry.test.d.ts +0 -1
  267. package/dist/mcp/toolRegistry.test.js +0 -34
  268. package/dist/migrations/billingSchemaParity.test.d.ts +0 -1
  269. package/dist/migrations/billingSchemaParity.test.js +0 -160
  270. package/dist/migrations/taskSchemaMigrations.test.d.ts +0 -1
  271. package/dist/migrations/taskSchemaMigrations.test.js +0 -225
  272. package/dist/qaOpen.test.d.ts +0 -1
  273. package/dist/qaOpen.test.js +0 -56
  274. package/dist/releaseVersion.test.d.ts +0 -1
  275. package/dist/releaseVersion.test.js +0 -32
  276. package/dist/runtime/appGates.test.d.ts +0 -1
  277. package/dist/runtime/appGates.test.js +0 -42
  278. package/dist/server/aiProfileAvatarAssets.test.d.ts +0 -1
  279. package/dist/server/aiProfileAvatarAssets.test.js +0 -213
  280. package/dist/server/annotatedAttachmentsRoutes.test.d.ts +0 -1
  281. package/dist/server/annotatedAttachmentsRoutes.test.js +0 -532
  282. package/dist/server/auth.test.d.ts +0 -1
  283. package/dist/server/auth.test.js +0 -131
  284. package/dist/server/buildInfo.test.d.ts +0 -1
  285. package/dist/server/buildInfo.test.js +0 -29
  286. package/dist/server/cors.test.d.ts +0 -1
  287. package/dist/server/cors.test.js +0 -77
  288. package/dist/server/documentReviewRoutes.test.d.ts +0 -1
  289. package/dist/server/documentReviewRoutes.test.js +0 -190
  290. package/dist/server/email.test.d.ts +0 -1
  291. package/dist/server/email.test.js +0 -113
  292. package/dist/server/index.cookieProxy.test.d.ts +0 -1
  293. package/dist/server/index.cookieProxy.test.js +0 -67
  294. package/dist/server/index.rateLimit.test.d.ts +0 -1
  295. package/dist/server/index.rateLimit.test.js +0 -22
  296. package/dist/server/index.test.d.ts +0 -1
  297. package/dist/server/index.test.js +0 -283
  298. package/dist/server/rateLimit.test.d.ts +0 -1
  299. package/dist/server/rateLimit.test.js +0 -107
  300. package/dist/server/realtimeSync.auth.test.d.ts +0 -1
  301. package/dist/server/realtimeSync.auth.test.js +0 -62
  302. package/dist/server/realtimeSync.replay.test.d.ts +0 -1
  303. package/dist/server/realtimeSync.replay.test.js +0 -192
  304. package/dist/server/realtimeSync.workspaceIsolation.test.d.ts +0 -1
  305. package/dist/server/realtimeSync.workspaceIsolation.test.js +0 -101
  306. package/dist/server/routes/billing.test.d.ts +0 -1
  307. package/dist/server/routes/billing.test.js +0 -3455
  308. package/dist/server/routes/shared.test.d.ts +0 -1
  309. package/dist/server/routes/shared.test.js +0 -32
  310. package/dist/server/routes/sync.integration.test.d.ts +0 -1
  311. package/dist/server/routes/sync.integration.test.js +0 -2932
  312. package/dist/server/routes/syncAuxRoutes.test.d.ts +0 -1
  313. package/dist/server/routes/syncAuxRoutes.test.js +0 -158
  314. package/dist/server/routes/syncRouteGuards.test.d.ts +0 -1
  315. package/dist/server/routes/syncRouteGuards.test.js +0 -94
  316. package/dist/server/routes.test.d.ts +0 -1
  317. package/dist/server/routes.test.js +0 -15612
  318. package/dist/server/runtimeMode.test.d.ts +0 -1
  319. package/dist/server/runtimeMode.test.js +0 -26
  320. package/dist/server/securityHeaders.test.d.ts +0 -1
  321. package/dist/server/securityHeaders.test.js +0 -70
  322. package/dist/services/templateEngine.test.d.ts +0 -1
  323. package/dist/services/templateEngine.test.js +0 -150
  324. package/dist/services/templates.test.d.ts +0 -1
  325. package/dist/services/templates.test.js +0 -45
  326. package/dist/services/workflowDocumentFixtures.test.d.ts +0 -1
  327. package/dist/services/workflowDocumentFixtures.test.js +0 -78
  328. package/dist/services/workflowExportMatrix.test.d.ts +0 -1
  329. package/dist/services/workflowExportMatrix.test.js +0 -113
  330. package/dist/services/workflowExportSnapshots.test.d.ts +0 -1
  331. package/dist/services/workflowExportSnapshots.test.js +0 -30
  332. package/dist/services/workflowGeneration.test.d.ts +0 -1
  333. package/dist/services/workflowGeneration.test.js +0 -12
  334. package/dist/services/workflowSimulation.test.d.ts +0 -1
  335. package/dist/services/workflowSimulation.test.js +0 -113
  336. package/dist/services/workflowV2Policy.test.d.ts +0 -1
  337. package/dist/services/workflowV2Policy.test.js +0 -80
  338. package/dist/shared/customTaxonomyLibrary.test.d.ts +0 -1
  339. package/dist/shared/customTaxonomyLibrary.test.js +0 -20
  340. package/dist/shared/passwordPolicy.test.d.ts +0 -1
  341. package/dist/shared/passwordPolicy.test.js +0 -34
  342. package/dist/shared/runtimeContract.test.d.ts +0 -1
  343. package/dist/shared/runtimeContract.test.js +0 -23
  344. package/dist/shared/taxonomyLibrary.test.d.ts +0 -1
  345. package/dist/shared/taxonomyLibrary.test.js +0 -26
  346. package/dist/shared/taxonomyState.test.d.ts +0 -1
  347. package/dist/shared/taxonomyState.test.js +0 -71
  348. package/dist/soak/preflight.cli.d.ts +0 -1
  349. package/dist/soak/preflight.cli.js +0 -28
  350. package/dist/soak/preflight.d.ts +0 -26
  351. package/dist/soak/preflight.js +0 -113
  352. package/dist/soak/preflight.test.d.ts +0 -1
  353. package/dist/soak/preflight.test.js +0 -39
  354. package/dist/storage/objectStorageClient.test.d.ts +0 -1
  355. package/dist/storage/objectStorageClient.test.js +0 -82
  356. package/dist/storage/objectStorageConfig.test.d.ts +0 -1
  357. package/dist/storage/objectStorageConfig.test.js +0 -50
  358. package/dist/storage/postgresAdapter.test.d.ts +0 -1
  359. package/dist/storage/postgresAdapter.test.js +0 -29
  360. package/dist/storage/workspaceAssetStore.test.d.ts +0 -1
  361. package/dist/storage/workspaceAssetStore.test.js +0 -588
  362. package/dist/sync/cloudSyncApi.test.d.ts +0 -1
  363. package/dist/sync/cloudSyncApi.test.js +0 -111
  364. package/dist/sync/collaborationSyncPayload.test.d.ts +0 -1
  365. package/dist/sync/collaborationSyncPayload.test.js +0 -125
  366. package/dist/sync/contentSyncPayload.test.d.ts +0 -1
  367. package/dist/sync/contentSyncPayload.test.js +0 -143
  368. package/dist/sync/encryptionService.test.d.ts +0 -1
  369. package/dist/sync/encryptionService.test.js +0 -52
  370. package/dist/sync/planningSyncPayload.test.d.ts +0 -1
  371. package/dist/sync/planningSyncPayload.test.js +0 -92
  372. package/dist/sync/realtimeFeature.test.d.ts +0 -1
  373. package/dist/sync/realtimeFeature.test.js +0 -30
  374. package/dist/sync/realtimeReconcile.test.d.ts +0 -1
  375. package/dist/sync/realtimeReconcile.test.js +0 -43
  376. package/dist/sync/syncApplyHandlers.test.d.ts +0 -1
  377. package/dist/sync/syncApplyHandlers.test.js +0 -626
  378. package/dist/sync/syncService.test.d.ts +0 -1
  379. package/dist/sync/syncService.test.js +0 -903
  380. package/dist/sync/taskSyncPayload.test.d.ts +0 -1
  381. package/dist/sync/taskSyncPayload.test.js +0 -54
  382. package/dist/sync/workspacePullFeed.test.d.ts +0 -1
  383. package/dist/sync/workspacePullFeed.test.js +0 -438
  384. package/dist/sync/workspaceSyncModel.test.d.ts +0 -1
  385. package/dist/sync/workspaceSyncModel.test.js +0 -1442
  386. package/dist/test/setup.d.ts +0 -1
  387. package/dist/test/setup.js +0 -15
  388. package/dist/ui/assets/AgentsModule-BS4Pi_nC.js +0 -1
  389. package/dist/ui/assets/ContextAttachmentManager-CfG_ER7C.js +0 -3
  390. package/dist/ui/assets/PlansPage-B_z-D6Nh.css +0 -1
  391. package/dist/ui/assets/PlansPage-Ndt7mYfo.js +0 -1
  392. package/dist/ui/assets/documentReferences-BOUcJm6-.js +0 -1
  393. package/dist/ui/assets/index-MAHKvFqp.js +0 -4
  394. package/dist/utils/accountProfileSummaryCache.test.d.ts +0 -1
  395. package/dist/utils/accountProfileSummaryCache.test.js +0 -63
  396. package/dist/utils/annotatedAttachments.test.d.ts +0 -1
  397. package/dist/utils/annotatedAttachments.test.js +0 -108
  398. package/dist/utils/assignees.test.d.ts +0 -1
  399. package/dist/utils/assignees.test.js +0 -25
  400. package/dist/utils/avatarUpload.test.d.ts +0 -1
  401. package/dist/utils/avatarUpload.test.js +0 -40
  402. package/dist/utils/canonicalAssetKind.test.d.ts +0 -1
  403. package/dist/utils/canonicalAssetKind.test.js +0 -24
  404. package/dist/utils/coalescedRefresh.test.d.ts +0 -1
  405. package/dist/utils/coalescedRefresh.test.js +0 -30
  406. package/dist/utils/constants.icons.test.d.ts +0 -1
  407. package/dist/utils/constants.icons.test.js +0 -41
  408. package/dist/utils/planParser.test.d.ts +0 -1
  409. package/dist/utils/planParser.test.js +0 -183
  410. package/dist/utils/planningReferences.test.d.ts +0 -1
  411. package/dist/utils/planningReferences.test.js +0 -17
  412. package/dist/utils/syncEventDetails.test.d.ts +0 -1
  413. package/dist/utils/syncEventDetails.test.js +0 -23
  414. package/dist/utils/syncEventPresentation.test.d.ts +0 -1
  415. package/dist/utils/syncEventPresentation.test.js +0 -64
  416. package/dist/utils/syncStatusPresentation.test.d.ts +0 -1
  417. package/dist/utils/syncStatusPresentation.test.js +0 -164
  418. package/dist/utils/taskActivity.test.d.ts +0 -1
  419. package/dist/utils/taskActivity.test.js +0 -218
  420. package/dist/utils/taskDraftDefaults.test.d.ts +0 -1
  421. package/dist/utils/taskDraftDefaults.test.js +0 -34
  422. package/dist/utils/taskDragZones.test.d.ts +0 -1
  423. package/dist/utils/taskDragZones.test.js +0 -14
  424. package/dist/utils/taskNormalization.test.d.ts +0 -1
  425. package/dist/utils/taskNormalization.test.js +0 -158
  426. package/dist/utils/taskSearch.test.d.ts +0 -1
  427. package/dist/utils/taskSearch.test.js +0 -69
  428. package/dist/utils/taskUtils.test.d.ts +0 -1
  429. package/dist/utils/taskUtils.test.js +0 -19
  430. package/dist/utils/taskforceApiClient.test.d.ts +0 -1
  431. package/dist/utils/taskforceApiClient.test.js +0 -44
  432. package/dist/utils/taxonomyFormDefaults.test.d.ts +0 -1
  433. package/dist/utils/taxonomyFormDefaults.test.js +0 -63
  434. package/dist/utils/uiNotice.test.d.ts +0 -1
  435. package/dist/utils/uiNotice.test.js +0 -18
  436. package/dist/utils/workspaceIdentity.test.d.ts +0 -1
  437. package/dist/utils/workspaceIdentity.test.js +0 -61
  438. package/dist/utils/workspaceLifecycle.test.d.ts +0 -1
  439. package/dist/utils/workspaceLifecycle.test.js +0 -64
  440. package/dist/utils/workspaceSyncPresentation.test.d.ts +0 -1
  441. package/dist/utils/workspaceSyncPresentation.test.js +0 -71
  442. package/scripts/bootstrap-playwright-auth.mjs +0 -155
  443. package/scripts/check-cloud-mcp.mjs +0 -83
  444. package/scripts/check-compat-boundaries.mjs +0 -41
  445. package/scripts/check-env.ts +0 -31
  446. package/scripts/check-localization-strings.mjs +0 -49
  447. package/scripts/check-runtime-boundaries.mjs +0 -44
  448. package/scripts/debug-global.mjs +0 -34
  449. package/scripts/debug-login.mjs +0 -32
  450. package/scripts/debug-server.mjs +0 -36
  451. package/scripts/deploy-prod.sh +0 -41
  452. package/scripts/deploy-staging.sh +0 -23
  453. package/scripts/export-sqlite-to-postgres.mjs +0 -123
  454. package/scripts/generate-env-example.ts +0 -8
  455. package/scripts/mcp-stdio-adapter.mjs +0 -160
  456. package/scripts/migrate-task-data-assets.mjs +0 -408
  457. package/scripts/playwright-auth.sh +0 -19
  458. package/scripts/qa-open-lib.mjs +0 -175
  459. package/scripts/qa-open-lib.mjs.d.ts +0 -49
  460. package/scripts/qa-open.mjs +0 -352
  461. package/scripts/release-version-lib.mjs +0 -88
  462. package/scripts/release-version.mjs +0 -72
  463. package/scripts/run-billing-performance-smoke.sh +0 -24
  464. package/scripts/run-dev-proxy.sh +0 -51
  465. package/scripts/run-e2e-realtime.sh +0 -30
  466. package/scripts/run-smoke.sh +0 -35
  467. package/scripts/run-soak.sh +0 -41
  468. package/scripts/test-global.js +0 -143
  469. package/scripts/update-homebrew-formula.sh +0 -108
  470. package/scripts/with-esbuild.sh +0 -11
@@ -1,72 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { execFileSync } from 'child_process';
4
- import * as fs from 'fs';
5
- import * as path from 'path';
6
- import {
7
- computeNextVersion,
8
- readPackageVersion,
9
- readVersionConfig
10
- } from './release-version-lib.mjs';
11
-
12
- function hasArg(name) {
13
- return process.argv.includes(name);
14
- }
15
-
16
- function readReleaseTags(projectRoot) {
17
- const output = execFileSync('git', ['tag', '--list', 'v*'], {
18
- cwd: projectRoot,
19
- encoding: 'utf8'
20
- });
21
- return output
22
- .split('\n')
23
- .map(line => line.trim())
24
- .filter(Boolean);
25
- }
26
-
27
- function writeGithubOutput(key, value) {
28
- const outputPath = String(process.env.GITHUB_OUTPUT || '').trim();
29
- if (!outputPath) return;
30
- fs.appendFileSync(outputPath, `${key}=${value}\n`, 'utf8');
31
- }
32
-
33
- function main() {
34
- const projectRoot = process.cwd();
35
- const dryRun = hasArg('--dry-run');
36
- const json = hasArg('--json');
37
-
38
- const { major, minor, path: configPath } = readVersionConfig(projectRoot);
39
- const currentPackageVersion = readPackageVersion(projectRoot);
40
- const releaseTags = readReleaseTags(projectRoot);
41
- const nextVersion = computeNextVersion({
42
- major,
43
- minor,
44
- releaseTags,
45
- currentPackageVersion
46
- });
47
-
48
- writeGithubOutput('version', nextVersion);
49
-
50
- if (json) {
51
- console.log(JSON.stringify({
52
- configPath: path.relative(projectRoot, configPath),
53
- currentPackageVersion,
54
- nextVersion,
55
- dryRun
56
- }));
57
- } else {
58
- console.log(`Next release version: ${nextVersion}`);
59
- if (dryRun) {
60
- console.log('Dry run enabled. package.json was not modified.');
61
- }
62
- }
63
-
64
- if (dryRun) return;
65
-
66
- execFileSync('npm', ['version', '--no-git-tag-version', nextVersion], {
67
- cwd: projectRoot,
68
- stdio: 'inherit'
69
- });
70
- }
71
-
72
- main();
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env sh
2
- set -eu
3
-
4
- LOCAL_ENV_FILE="${TASKFORCE_PLAYWRIGHT_ENV_FILE:-$HOME/.codex/taskforce-playwright.env}"
5
- REPO_E2E_ENV_FILE="${TASKFORCE_PLAYWRIGHT_REPO_E2E_ENV_FILE:-.env.e2e}"
6
-
7
- if [ -f "$LOCAL_ENV_FILE" ]; then
8
- set -a
9
- # shellcheck disable=SC1090
10
- . "$LOCAL_ENV_FILE"
11
- set +a
12
- elif [ -f "$REPO_E2E_ENV_FILE" ]; then
13
- set -a
14
- # shellcheck disable=SC1090
15
- . "$REPO_E2E_ENV_FILE"
16
- set +a
17
- fi
18
-
19
- TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL="${TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL:-https://performance-app.taskforcehq.ai}"
20
- export TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL
21
- export TASKFORCE_PLAYWRIGHT_BASE_URL="${TASKFORCE_PLAYWRIGHT_BASE_URL:-$TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL}"
22
-
23
- node scripts/bootstrap-playwright-auth.mjs
24
- exec npx playwright test -c playwright.interactive.config.ts tests/e2e/billing-performance.smoke.spec.ts "$@"
@@ -1,51 +0,0 @@
1
- #!/usr/bin/env sh
2
- set -eu
3
-
4
- target="${1:-}"
5
- if [ -z "$target" ]; then
6
- echo "Usage: sh scripts/run-dev-proxy.sh <staging|performance>" >&2
7
- exit 1
8
- fi
9
-
10
- case "$target" in
11
- staging)
12
- base_url="https://staging-app.taskforcehq.ai"
13
- ;;
14
- performance)
15
- base_url="https://performance-app.taskforcehq.ai"
16
- ;;
17
- *)
18
- echo "Invalid target: $target (expected staging or performance)" >&2
19
- exit 1
20
- ;;
21
- esac
22
-
23
- env_file=""
24
- for candidate in ".env.${target}" ".env.e2e" ".env.local"; do
25
- if [ -f "$candidate" ]; then
26
- env_file="$candidate"
27
- break
28
- fi
29
- done
30
-
31
- if [ -n "$env_file" ]; then
32
- set -a
33
- # shellcheck disable=SC1090
34
- . "$env_file"
35
- set +a
36
- fi
37
-
38
- client_id="${TASKFORCE_CF_ACCESS_CLIENT_ID:-${CF_ACCESS_CLIENT_ID:-}}"
39
- client_secret="${TASKFORCE_CF_ACCESS_CLIENT_SECRET:-${CF_ACCESS_CLIENT_SECRET:-}}"
40
- if [ -z "${client_id}" ] || [ -z "${client_secret}" ]; then
41
- echo "Missing Cloudflare Access service token variables." >&2
42
- echo "Set TASKFORCE_CF_ACCESS_CLIENT_ID/TASKFORCE_CF_ACCESS_CLIENT_SECRET" >&2
43
- echo "or CF_ACCESS_CLIENT_ID/CF_ACCESS_CLIENT_SECRET in .env.${target}, .env.e2e, or .env.local." >&2
44
- exit 1
45
- fi
46
-
47
- TASKFORCE_RUNTIME_MODE="local" \
48
- TASKFORCE_CLOUD_ENVIRONMENT="$target" \
49
- VITE_TASKFORCE_BASE_URL="$base_url" \
50
- TASKFORCE_CLOUD_PROXY_BASE_URL="$base_url" \
51
- npm run dev:runtime
@@ -1,30 +0,0 @@
1
- #!/bin/sh
2
- set -eu
3
-
4
- LOCAL_ENV_FILE="${TASKFORCE_PLAYWRIGHT_ENV_FILE:-$HOME/.codex/taskforce-playwright.env}"
5
- REPO_E2E_ENV_FILE="${TASKFORCE_PLAYWRIGHT_REPO_E2E_ENV_FILE:-.env.e2e}"
6
-
7
- if [ -f "$LOCAL_ENV_FILE" ]; then
8
- set -a
9
- # shellcheck disable=SC1090
10
- . "$LOCAL_ENV_FILE"
11
- set +a
12
- elif [ -f "$REPO_E2E_ENV_FILE" ]; then
13
- set -a
14
- # shellcheck disable=SC1090
15
- . "$REPO_E2E_ENV_FILE"
16
- set +a
17
- fi
18
-
19
- # Mirror soak defaults so realtime e2e runs are plug-compatible with existing env setup.
20
- export SYNC_SOAK_LOCAL_BASE_URL="${SYNC_SOAK_LOCAL_BASE_URL:-http://localhost:5174}"
21
- export SYNC_SOAK_CLOUD_BASE_URL="${SYNC_SOAK_CLOUD_BASE_URL:-${TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL:-https://performance-app.taskforcehq.ai}}"
22
- export SYNC_SOAK_WORKSPACE_ID="${SYNC_SOAK_WORKSPACE_ID:-test-smoke}"
23
- export SYNC_SOAK_EMAIL="${SYNC_SOAK_EMAIL:-${TASKFORCE_E2E_EMAIL:-}}"
24
- export SYNC_SOAK_PASSWORD="${SYNC_SOAK_PASSWORD:-${TASKFORCE_E2E_PASSWORD:-}}"
25
- PLAYWRIGHT_AUTH_STORAGE_STATE="${PLAYWRIGHT_AUTH_STORAGE_STATE:-${TASKFORCE_PLAYWRIGHT_STORAGE_STATE:-}}"
26
- unset TASKFORCE_E2E_EMAIL TASKFORCE_E2E_PASSWORD TASKFORCE_PLAYWRIGHT_STORAGE_STATE TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL
27
-
28
- node --import tsx scripts/check-env.ts --target=soak --strict=true
29
- export PLAYWRIGHT_AUTH_STORAGE_STATE
30
- npx playwright test -c playwright.e2e.config.ts "$@"
@@ -1,35 +0,0 @@
1
- #!/bin/sh
2
- set -eu
3
-
4
- LOCAL_ENV_FILE="${TASKFORCE_PLAYWRIGHT_ENV_FILE:-$HOME/.codex/taskforce-playwright.env}"
5
- REPO_E2E_ENV_FILE="${TASKFORCE_PLAYWRIGHT_REPO_E2E_ENV_FILE:-.env.e2e}"
6
-
7
- if [ -f "$LOCAL_ENV_FILE" ]; then
8
- set -a
9
- # shellcheck disable=SC1090
10
- . "$LOCAL_ENV_FILE"
11
- set +a
12
- elif [ -f "$REPO_E2E_ENV_FILE" ]; then
13
- set -a
14
- # shellcheck disable=SC1090
15
- . "$REPO_E2E_ENV_FILE"
16
- set +a
17
- fi
18
-
19
- # Provide safe defaults for non-secret settings; allow caller/.env.e2e overrides.
20
- export SYNC_SOAK_LOCAL_BASE_URL="${SYNC_SOAK_LOCAL_BASE_URL:-http://localhost:5174}"
21
- export SYNC_SOAK_CLOUD_BASE_URL="${SYNC_SOAK_CLOUD_BASE_URL:-${TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL:-https://performance-app.taskforcehq.ai}}"
22
- export SYNC_SOAK_WORKSPACE_ID="${SYNC_SOAK_WORKSPACE_ID:-test-smoke}"
23
- export SYNC_SOAK_EMAIL="${SYNC_SOAK_EMAIL:-${TASKFORCE_E2E_EMAIL:-}}"
24
- export SYNC_SOAK_PASSWORD="${SYNC_SOAK_PASSWORD:-${TASKFORCE_E2E_PASSWORD:-}}"
25
- unset TASKFORCE_E2E_EMAIL TASKFORCE_E2E_PASSWORD TASKFORCE_PLAYWRIGHT_STORAGE_STATE TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL
26
-
27
- node --import tsx scripts/check-env.ts --target=soak --strict=true
28
-
29
- # Shared credentials are required and may come from the local Playwright auth env file or repo .env.e2e.
30
- if [ -z "${SYNC_SOAK_ACCOUNTS_JSON:-}" ] && { [ -z "${SYNC_SOAK_EMAIL:-}" ] || [ -z "${SYNC_SOAK_PASSWORD:-}" ]; }; then
31
- echo "Missing credentials. Set SYNC_SOAK_ACCOUNTS_JSON or SYNC_SOAK_EMAIL+SYNC_SOAK_PASSWORD in $TASKFORCE_PLAYWRIGHT_ENV_FILE or .env.e2e." >&2
32
- exit 1
33
- fi
34
-
35
- npx playwright test -c playwright.smoke.config.ts "$@"
@@ -1,41 +0,0 @@
1
- #!/bin/sh
2
- set -eu
3
-
4
- LOCAL_ENV_FILE="${TASKFORCE_PLAYWRIGHT_ENV_FILE:-$HOME/.codex/taskforce-playwright.env}"
5
- REPO_E2E_ENV_FILE="${TASKFORCE_PLAYWRIGHT_REPO_E2E_ENV_FILE:-.env.e2e}"
6
-
7
- if [ -f "$LOCAL_ENV_FILE" ]; then
8
- set -a
9
- # shellcheck disable=SC1090
10
- . "$LOCAL_ENV_FILE"
11
- set +a
12
- elif [ -f "$REPO_E2E_ENV_FILE" ]; then
13
- set -a
14
- # shellcheck disable=SC1090
15
- . "$REPO_E2E_ENV_FILE"
16
- set +a
17
- fi
18
-
19
- # Provide safe defaults for non-secret settings; allow caller/.env.e2e overrides.
20
- # Soak runs target the dedicated performance cloud by default.
21
- export SYNC_SOAK_LOCAL_BASE_URL="${SYNC_SOAK_LOCAL_BASE_URL:-http://localhost:5174}"
22
- export SYNC_SOAK_CLOUD_BASE_URL="${SYNC_SOAK_CLOUD_BASE_URL:-${TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL:-https://performance-app.taskforcehq.ai}}"
23
- export SYNC_SOAK_WORKSPACE_ID="${SYNC_SOAK_WORKSPACE_ID:-test-smoke}"
24
- export SYNC_SOAK_EMAIL="${SYNC_SOAK_EMAIL:-${TASKFORCE_E2E_EMAIL:-}}"
25
- export SYNC_SOAK_PASSWORD="${SYNC_SOAK_PASSWORD:-${TASKFORCE_E2E_PASSWORD:-}}"
26
- unset TASKFORCE_E2E_EMAIL TASKFORCE_E2E_PASSWORD TASKFORCE_PLAYWRIGHT_STORAGE_STATE TASKFORCE_PLAYWRIGHT_CLOUD_BASE_URL
27
-
28
- node --import tsx scripts/check-env.ts --target=soak --strict=true
29
-
30
- # Shared credentials are required and may come from the local Playwright auth env file or repo .env.e2e.
31
- if [ -z "${SYNC_SOAK_ACCOUNTS_JSON:-}" ] && { [ -z "${SYNC_SOAK_EMAIL:-}" ] || [ -z "${SYNC_SOAK_PASSWORD:-}" ]; }; then
32
- echo "Missing credentials. Set SYNC_SOAK_ACCOUNTS_JSON or SYNC_SOAK_EMAIL+SYNC_SOAK_PASSWORD in $TASKFORCE_PLAYWRIGHT_ENV_FILE or .env.e2e." >&2
33
- exit 1
34
- fi
35
-
36
- if [ "${SOAK_BUILD_UI:-true}" = "true" ]; then
37
- echo "[Soak] Rebuilding full dist bundle before soak run (SOAK_BUILD_UI=true)"
38
- npm run -s build
39
- fi
40
-
41
- npx playwright test -c playwright.smoke.config.ts "$@"
@@ -1,143 +0,0 @@
1
- import { execSync, spawnSync } from 'child_process';
2
- import { existsSync, readFileSync, readdirSync, unlinkSync } from 'fs';
3
- import { join } from 'path';
4
-
5
- const DEFAULT_COMMAND_TIMEOUT_MS = Number.parseInt(
6
- String(process.env.TASKFORCE_TEST_GLOBAL_TIMEOUT_MS || ''),
7
- 10
8
- ) || 20 * 60 * 1000;
9
-
10
- const BUILD_COMMAND_TIMEOUT_MS = Number.parseInt(
11
- String(process.env.TASKFORCE_TEST_GLOBAL_BUILD_TIMEOUT_MS || ''),
12
- 10
13
- ) || 30 * 60 * 1000;
14
-
15
- const run = (cmd, options = {}) => {
16
- const timeoutMs = Number.isFinite(Number(options.timeoutMs))
17
- ? Number(options.timeoutMs)
18
- : DEFAULT_COMMAND_TIMEOUT_MS;
19
- const retries = Math.max(0, Number(options.retries) || 0);
20
-
21
- for (let attempt = 0; attempt <= retries; attempt += 1) {
22
- const tryLabel = retries > 0 ? ` (attempt ${attempt + 1}/${retries + 1})` : '';
23
- console.log(`\n🏃 Running: ${cmd}${tryLabel}`);
24
- try {
25
- execSync(cmd, {
26
- stdio: 'inherit',
27
- timeout: timeoutMs,
28
- killSignal: 'SIGTERM'
29
- });
30
- return;
31
- } catch (error) {
32
- const timedOut = error?.signal === 'SIGTERM' && /ETIMEDOUT/i.test(String(error?.message || ''));
33
- if (timedOut) {
34
- console.error(`⏱️ Command timed out after ${Math.round(timeoutMs / 1000)}s: ${cmd}`);
35
- } else {
36
- console.error(`❌ Command failed: ${cmd}`);
37
- }
38
-
39
- if (attempt < retries) {
40
- console.log('🔁 Retrying...');
41
- continue;
42
- }
43
-
44
- process.exit(1);
45
- }
46
- }
47
- };
48
-
49
- console.log('🏗️ Building project...');
50
- run('npm run build', { timeoutMs: BUILD_COMMAND_TIMEOUT_MS, retries: 1 });
51
-
52
- console.log('📦 Creating tarball...');
53
- const packageJson = JSON.parse(readFileSync(join(process.cwd(), 'package.json'), 'utf8'));
54
- const tarballPrefix = `${String(packageJson.name).replace(/^@/, '').replace(/\//g, '-')}-`;
55
- // Ensure no old tarballs exist
56
- const files = readdirSync('.');
57
- const tarballs = files.filter(f => f.startsWith(tarballPrefix) && f.endsWith('.tgz'));
58
- tarballs.forEach(f => {
59
- console.log(` Removing old tarball: ${f}`);
60
- unlinkSync(f);
61
- });
62
-
63
- run('npm pack');
64
-
65
- // Find the generated tarball
66
- const newFiles = readdirSync('.');
67
- const tarball = newFiles.find(f => f.startsWith(tarballPrefix) && f.endsWith('.tgz'));
68
-
69
- if (!tarball) {
70
- console.error('❌ Error: Tarball not generated.');
71
- process.exit(1);
72
- }
73
-
74
- console.log(`🌍 Installing globally (${tarball})...`);
75
-
76
- const installGlobal = () => spawnSync('npm', ['install', '-g', `./${tarball}`], { encoding: 'utf8' });
77
- const printOutput = (result) => {
78
- if (result.stdout) process.stdout.write(result.stdout);
79
- if (result.stderr) process.stderr.write(result.stderr);
80
- };
81
-
82
- let installResult = installGlobal();
83
- printOutput(installResult);
84
-
85
- if (installResult.status !== 0) {
86
- const combinedOutput = `${installResult.stdout || ''}\n${installResult.stderr || ''}`;
87
- const isFileExists = /EEXIST/i.test(combinedOutput);
88
- const isPermissionError = /(EACCES|EPERM|permission denied)/i.test(combinedOutput);
89
-
90
- if (isFileExists) {
91
- console.log('⚠️ Existing global binary detected. Cleaning up and retrying...');
92
- const packageName = String(packageJson.name);
93
- const uninstallResult = spawnSync('npm', ['uninstall', '-g', packageName], { encoding: 'utf8' });
94
- printOutput(uninstallResult);
95
-
96
- const pathMatch = combinedOutput.match(/npm error path (.+)/i);
97
- if (pathMatch?.[1]) {
98
- const stalePath = pathMatch[1].trim();
99
- try {
100
- if (existsSync(stalePath)) {
101
- unlinkSync(stalePath);
102
- console.log(`🧹 Removed stale binary: ${stalePath}`);
103
- }
104
- } catch (error) {
105
- console.log(`⚠️ Could not remove stale binary at ${stalePath}.`);
106
- }
107
- }
108
-
109
- try {
110
- const npmPrefix = execSync('npm config get prefix', { encoding: 'utf8' }).trim();
111
- const taskforceBin = join(npmPrefix, 'bin', 'taskforce');
112
- if (existsSync(taskforceBin)) {
113
- unlinkSync(taskforceBin);
114
- console.log(`🧹 Removed stale binary: ${taskforceBin}`);
115
- }
116
- } catch (error) {
117
- console.log('⚠️ Could not inspect npm global bin path. Continuing with reinstall...');
118
- }
119
-
120
- installResult = installGlobal();
121
- printOutput(installResult);
122
- } else if (isPermissionError) {
123
- console.log('⚠️ Permission denied. Retrying with sudo...');
124
- try {
125
- execSync(`sudo npm install -g ./${tarball}`, { stdio: 'inherit' });
126
- installResult = { status: 0 };
127
- } catch (sudoError) {
128
- console.error('❌ Failed to install globally with sudo.');
129
- process.exit(1);
130
- }
131
- }
132
- }
133
-
134
- if (installResult.status !== 0) {
135
- console.error('❌ Failed to install globally.');
136
- process.exit(1);
137
- }
138
-
139
- console.log('🧹 Cleaning up artifacts...');
140
- unlinkSync(tarball);
141
-
142
- console.log('✅ Successfully installed!');
143
- console.log('🚀 You can now run "taskforce open" from any directory.');
@@ -1,108 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- if [[ $# -lt 2 || $# -gt 5 ]]; then
5
- cat <<'EOF'
6
- Usage:
7
- scripts/update-homebrew-formula.sh <formula_path> [npm_package] <version> [--sha256 <sha>]
8
-
9
- Example:
10
- scripts/update-homebrew-formula.sh packaging/homebrew/Formula/taskforce.rb @taskforcehq/taskforce 0.3.168
11
- scripts/update-homebrew-formula.sh packaging/homebrew/Formula/taskforce.rb 0.3.168 --sha256 abc123...
12
- EOF
13
- exit 1
14
- fi
15
-
16
- FORMULA_PATH="$1"
17
- shift
18
-
19
- NPM_PACKAGE="@taskforcehq/taskforce"
20
- if [[ "${1:-}" == @*/* ]]; then
21
- NPM_PACKAGE="$1"
22
- shift
23
- fi
24
-
25
- if [[ $# -lt 1 ]]; then
26
- echo "Missing required <version> argument." >&2
27
- exit 1
28
- fi
29
-
30
- VERSION="$1"
31
- shift
32
-
33
- SHA256="${HOMEBREW_SHA256:-}"
34
- while [[ $# -gt 0 ]]; do
35
- case "$1" in
36
- --sha256)
37
- if [[ $# -lt 2 ]]; then
38
- echo "--sha256 requires a value" >&2
39
- exit 1
40
- fi
41
- SHA256="$2"
42
- shift 2
43
- ;;
44
- *)
45
- echo "Unknown argument: $1" >&2
46
- exit 1
47
- ;;
48
- esac
49
- done
50
-
51
- if [[ ! -f "$FORMULA_PATH" ]]; then
52
- echo "Formula file not found: $FORMULA_PATH" >&2
53
- exit 1
54
- fi
55
-
56
- if [[ "$NPM_PACKAGE" != @*/* ]]; then
57
- echo "npm package must be scoped (for example: @taskforcehq/taskforce)." >&2
58
- exit 1
59
- fi
60
-
61
- PACKAGE_SCOPE="${NPM_PACKAGE#@}"
62
- PACKAGE_SCOPE="${PACKAGE_SCOPE%%/*}"
63
- PACKAGE_NAME="${NPM_PACKAGE##*/}"
64
- URL="https://registry.npmjs.org/${NPM_PACKAGE}/-/$(printf '%s-%s.tgz' "${PACKAGE_NAME}" "${VERSION}")"
65
-
66
- if [[ -z "$SHA256" ]]; then
67
- TMP_TGZ="$(mktemp "/tmp/${PACKAGE_NAME}-${VERSION}.XXXXXX.tgz")"
68
- trap 'rm -f "$TMP_TGZ"' EXIT
69
- echo "Downloading npm tarball: $URL"
70
- CURL_ARGS=(-fsSL "$URL" -o "$TMP_TGZ")
71
- AUTH_TOKEN="${NODE_AUTH_TOKEN:-${NPM_TOKEN:-}}"
72
- if [[ -n "$AUTH_TOKEN" ]]; then
73
- CURL_ARGS=(-fsSL -H "Authorization: Bearer ${AUTH_TOKEN}" "$URL" -o "$TMP_TGZ")
74
- fi
75
- if ! curl "${CURL_ARGS[@]}"; then
76
- echo "Direct npm tarball download failed (likely private package auth). Falling back to npm pack..."
77
- rm -f "$TMP_TGZ"
78
- TMP_DIR="$(mktemp -d "/tmp/${PACKAGE_NAME}-${VERSION}.XXXXXX")"
79
- trap 'rm -rf "$TMP_DIR"' EXIT
80
- npm pack "${NPM_PACKAGE}@${VERSION}" --pack-destination "$TMP_DIR" >/dev/null
81
- PACKED_TGZ="$(ls "$TMP_DIR"/*.tgz | head -n 1)"
82
- if [[ -z "$PACKED_TGZ" || ! -f "$PACKED_TGZ" ]]; then
83
- echo "Failed to locate tarball produced by npm pack." >&2
84
- exit 1
85
- fi
86
- TMP_TGZ="$PACKED_TGZ"
87
- fi
88
- if command -v shasum >/dev/null 2>&1; then
89
- SHA256="$(shasum -a 256 "$TMP_TGZ" | awk '{print $1}')"
90
- else
91
- SHA256="$(sha256sum "$TMP_TGZ" | awk '{print $1}')"
92
- fi
93
- fi
94
-
95
- sed -i.bak \
96
- -e "s#homepage \".*\"#homepage \"https://github.com/taskforcehq/taskforce\"#g" \
97
- -e "s#url \".*\"#url \"${URL}\"#g" \
98
- -e "s#sha256 \".*\"#sha256 \"${SHA256}\"#g" \
99
- "$FORMULA_PATH"
100
-
101
- rm -f "${FORMULA_PATH}.bak"
102
- echo "Updated ${FORMULA_PATH}"
103
- echo " npm package: ${NPM_PACKAGE}"
104
- echo " package scope: ${PACKAGE_SCOPE}"
105
- echo " package name: ${PACKAGE_NAME}"
106
- echo " homepage: https://github.com/taskforcehq/taskforce"
107
- echo " url: ${URL}"
108
- echo " sha256: ${SHA256}"
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env sh
2
- set -eu
3
-
4
- if [ -z "${ESBUILD_BINARY_PATH:-}" ]; then
5
- fallback_bin="$(pwd)/node_modules/@esbuild/darwin-arm64/bin/esbuild 2"
6
- if [ -x "$fallback_bin" ]; then
7
- export ESBUILD_BINARY_PATH="$fallback_bin"
8
- fi
9
- fi
10
-
11
- exec "$@"