@runfusion/fusion 0.77.0-beta.4 → 0.77.0-beta.6

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 (161) hide show
  1. package/dist/bin.js +4459 -4221
  2. package/dist/child-process-worker.js +3012 -1779
  3. package/dist/client/.vite/manifest.json +269 -269
  4. package/dist/client/assets/{AgentDetailView-CH6GtXl9.js → AgentDetailView-oyY72uSo.js} +1 -1
  5. package/dist/client/assets/{AgentPermissionPolicyEditor-YTEpMhUx.js → AgentPermissionPolicyEditor-C3Qo9p1M.js} +1 -1
  6. package/dist/client/assets/{AgentsView-XOHHDo4a.js → AgentsView-M2MhTIGW.js} +3 -3
  7. package/dist/client/assets/ChatView-zKrUSqiQ.js +13 -0
  8. package/dist/client/assets/{CommandCenter-BsH-R15f.js → CommandCenter-CpcAt6jt.js} +27 -27
  9. package/dist/client/assets/{DevServerView-CKOa-lkc.js → DevServerView-CjTneoG7.js} +1 -1
  10. package/dist/client/assets/{DirectoryPicker-DHUYTE-j.js → DirectoryPicker-BY6V5HLV.js} +1 -1
  11. package/dist/client/assets/{DocumentsView-BPzrxeP-.js → DocumentsView-RDK56-qg.js} +1 -1
  12. package/dist/client/assets/{EvalsView-DojCiv47.js → EvalsView-DKK4ceUW.js} +1 -1
  13. package/dist/client/assets/{ExperimentalAgentOnboardingModal-DuurZ8qe.js → ExperimentalAgentOnboardingModal-DiBPZVwC.js} +1 -1
  14. package/dist/client/assets/{GoalsView-DDWPXcG1.js → GoalsView-DPj59B3l.js} +1 -1
  15. package/dist/client/assets/{InsightsView-CgkMOD1A.js → InsightsView-QLJNkKJp.js} +1 -1
  16. package/dist/client/assets/{MemoryView-Cj49_z7O.js → MemoryView-CDCS-1ig.js} +1 -1
  17. package/dist/client/assets/{PiExtensionsManager-B_rRJiOd.js → PiExtensionsManager-DktXXrmF.js} +1 -1
  18. package/dist/client/assets/{PluginManager-Dxwi88oY.js → PluginManager-CQ3iEFMq.js} +1 -1
  19. package/dist/client/assets/{PullRequestView-z-5v2hQT.js → PullRequestView-CkObT6e3.js} +1 -1
  20. package/dist/client/assets/{ReportModal-DmOPEYWp.js → ReportModal-B5LTdDgi.js} +1 -1
  21. package/dist/client/assets/{ResearchView-D90Jbzbx.js → ResearchView-CryFrV8l.js} +1 -1
  22. package/dist/client/assets/{SecretsView-CSyjZl5L.js → SecretsView-9YcNW_fo.js} +1 -1
  23. package/dist/client/assets/{SessionTerminal-Bwb8nGmU.js → SessionTerminal-BWsA9puD.js} +1 -1
  24. package/dist/client/assets/SettingsModal-CL6aiXiI.js +21 -0
  25. package/dist/client/assets/{SettingsModal-CJof1Ett.js → SettingsModal-llkoaJev.js} +1 -1
  26. package/dist/client/assets/{SettingsTextareaRow-BYchnHfW.js → SettingsTextareaRow-B_Legu-A.js} +1 -1
  27. package/dist/client/assets/{SetupWizardModal-NqV-erVf.js → SetupWizardModal-DLA4UAGp.js} +2 -2
  28. package/dist/client/assets/{SkillsView-BUrkIJ-p.js → SkillsView-CSeauwIw.js} +1 -1
  29. package/dist/client/assets/{WorkflowNodeEditor-DcPk2A1Z.js → WorkflowNodeEditor-CGgMiiWy.js} +2 -2
  30. package/dist/client/assets/{agent-import-generation-X16OLfrL.js → agent-import-generation-CttglSmZ.js} +1 -1
  31. package/dist/client/assets/{agentsOrgChartLayout-BhPIXckU.js → agentsOrgChartLayout-f-9mwRbD.js} +1 -1
  32. package/dist/client/assets/app-BBSLJDbV.js +13 -0
  33. package/dist/client/assets/app-BKwOvuxE.js +5 -0
  34. package/dist/client/assets/app-Bvr57EZQ.js +5 -0
  35. package/dist/client/assets/app-C_PTWuI1.js +13 -0
  36. package/dist/client/assets/app-DKx18PHE.js +13 -0
  37. package/dist/client/assets/app-DRW5hIgr.js +13 -0
  38. package/dist/client/assets/app-DwvelD-n.js +13 -0
  39. package/dist/client/assets/{architectureDiagram-3BPJPVTR-WArMtdqy.js → architectureDiagram-3BPJPVTR-DA_Hm_di.js} +1 -1
  40. package/dist/client/assets/{blockDiagram-GPEHLZMM-emScogdV.js → blockDiagram-GPEHLZMM-JF7K8CcV.js} +1 -1
  41. package/dist/client/assets/{c4Diagram-AAUBKEIU-CBY7-E0T.js → c4Diagram-AAUBKEIU-DN-wklCP.js} +1 -1
  42. package/dist/client/assets/channel-CwFfFSI9.js +1 -0
  43. package/dist/client/assets/{chunk-2J33WTMH-Bcai1sOm.js → chunk-2J33WTMH-ChtjU8Cu.js} +1 -1
  44. package/dist/client/assets/{chunk-4BX2VUAB-hjiKRusj.js → chunk-4BX2VUAB-dJL0n3nn.js} +1 -1
  45. package/dist/client/assets/{chunk-55IACEB6-DpO9nIb0.js → chunk-55IACEB6-Bfg-QB9A.js} +1 -1
  46. package/dist/client/assets/{chunk-727SXJPM-B9JanA0o.js → chunk-727SXJPM-BHPPwYUS.js} +1 -1
  47. package/dist/client/assets/{chunk-AQP2D5EJ-D6zdnEUE.js → chunk-AQP2D5EJ-DIIpPUQN.js} +1 -1
  48. package/dist/client/assets/{chunk-FMBD7UC4-CRkrJ51d.js → chunk-FMBD7UC4-D230R32b.js} +1 -1
  49. package/dist/client/assets/{chunk-ND2GUHAM-BLQsKt7a.js → chunk-ND2GUHAM-0Lhp5CRv.js} +1 -1
  50. package/dist/client/assets/{chunk-QZHKN3VN-MCOlJ723.js → chunk-QZHKN3VN-BxbHBfKJ.js} +1 -1
  51. package/dist/client/assets/classDiagram-4FO5ZUOK-C8dZsxxX.js +1 -0
  52. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-C8dZsxxX.js +1 -0
  53. package/dist/client/assets/{cose-bilkent-S5V4N54A-Cv1XmKKG.js → cose-bilkent-S5V4N54A-3vEwhfYz.js} +1 -1
  54. package/dist/client/assets/{dagre-BM42HDAG-flnNS_RW.js → dagre-BM42HDAG-Br44UsdY.js} +1 -1
  55. package/dist/client/assets/{dashboard-view-Dz7kqcJc.js → dashboard-view-B0OM3KYC.js} +1 -1
  56. package/dist/client/assets/{dashboard-view-CC1aH-lp.js → dashboard-view-BldxxYfz.js} +1 -1
  57. package/dist/client/assets/{dashboard-view-DEAYb_TZ.js → dashboard-view-CcPcELPx.js} +1 -1
  58. package/dist/client/assets/{dashboard-view-CrV-rL9Q.js → dashboard-view-_EglxMDl.js} +1 -1
  59. package/dist/client/assets/{diagram-2AECGRRQ-Z3S7b_6_.js → diagram-2AECGRRQ-CLNxbHUP.js} +1 -1
  60. package/dist/client/assets/{diagram-5GNKFQAL-BAZHdMFq.js → diagram-5GNKFQAL-D3cNAeQH.js} +1 -1
  61. package/dist/client/assets/{diagram-KO2AKTUF-C2y3S8F0.js → diagram-KO2AKTUF-DkX7h6to.js} +1 -1
  62. package/dist/client/assets/{diagram-LMA3HP47-Bfz0_IvT.js → diagram-LMA3HP47-6iQIiYUr.js} +1 -1
  63. package/dist/client/assets/{diagram-OG6HWLK6-BBmSQsTI.js → diagram-OG6HWLK6-Caje3229.js} +1 -1
  64. package/dist/client/assets/{erDiagram-TEJ5UH35-DnpdQi66.js → erDiagram-TEJ5UH35-BkU-1HB1.js} +1 -1
  65. package/dist/client/assets/{flowDiagram-I6XJVG4X-IybTR_zf.js → flowDiagram-I6XJVG4X-BRx3V6RE.js} +1 -1
  66. package/dist/client/assets/{folder-open-Dntm63x4.js → folder-open-BaSOBfk2.js} +1 -1
  67. package/dist/client/assets/{ganttDiagram-6RSMTGT7-DEQOe2E9.js → ganttDiagram-6RSMTGT7-D9f1kH3t.js} +1 -1
  68. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-BOKc-h63.js → gitGraphDiagram-PVQCEYII-CQwmZcRd.js} +1 -1
  69. package/dist/client/assets/index-B8PcG8AJ.js +2774 -0
  70. package/dist/client/assets/index-Dki2LBAp.css +1 -0
  71. package/dist/client/assets/{infoDiagram-5YYISTIA-LqaYIdbj.js → infoDiagram-5YYISTIA-DYWBkGjG.js} +1 -1
  72. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-a8qd512s.js → ishikawaDiagram-YF4QCWOH-Df0Nzvh4.js} +1 -1
  73. package/dist/client/assets/{journeyDiagram-JHISSGLW-BgoNyeiy.js → journeyDiagram-JHISSGLW-bSvrZSyZ.js} +1 -1
  74. package/dist/client/assets/{kanban-definition-UN3LZRKU-Bqwow7D3.js → kanban-definition-UN3LZRKU-yHJ101M8.js} +1 -1
  75. package/dist/client/assets/{mermaid.core-B2zD934i.js → mermaid.core-Bc_0VLJw.js} +4 -4
  76. package/dist/client/assets/{mindmap-definition-RKZ34NQL-CCTOigWu.js → mindmap-definition-RKZ34NQL-DWRnMguM.js} +1 -1
  77. package/dist/client/assets/{pieDiagram-4H26LBE5-Bq5DtXKR.js → pieDiagram-4H26LBE5-Ds-DEOqr.js} +1 -1
  78. package/dist/client/assets/{puzzle-VhTPiCit.js → puzzle-CdYF81IT.js} +1 -1
  79. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CGMP3nUx.js → quadrantDiagram-W4KKPZXB-Bz-j2fkf.js} +1 -1
  80. package/dist/client/assets/{requirementDiagram-4Y6WPE33-Ckeu_szu.js → requirementDiagram-4Y6WPE33-BaQ_PaZ-.js} +1 -1
  81. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-SWbBDD4d.js → sankeyDiagram-5OEKKPKP-pUCz8V4-.js} +1 -1
  82. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-CiJrmL_G.js → sequenceDiagram-3UESZ5HK-CFwUMspe.js} +1 -1
  83. package/dist/client/assets/{shield-alert-BBDlP6A5.js → shield-alert-4qeU3_Rm.js} +1 -1
  84. package/dist/client/assets/{standing-instructions-template-viu_kgDX.js → standing-instructions-template-Crocrob7.js} +1 -1
  85. package/dist/client/assets/{stateDiagram-AJRCARHV-DTCzK5Gt.js → stateDiagram-AJRCARHV-CHZwo-vd.js} +1 -1
  86. package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-BIGAwFTT.js → stateDiagram-v2-BHNVJYJU-BTvKaIZR.js} +1 -1
  87. package/dist/client/assets/{timeline-definition-PNZ67QCA-BQZEFEug.js → timeline-definition-PNZ67QCA-Cn3XIoz2.js} +1 -1
  88. package/dist/client/assets/{upload-D5w3Ehwp.js → upload--GqImz6h.js} +1 -1
  89. package/dist/client/assets/{useDiscoveredSkillsCache-D6zMSIaS.js → useDiscoveredSkillsCache-BEHgTFai.js} +1 -1
  90. package/dist/client/assets/{users-Bohihi_o.js → users-B0h1q4x6.js} +1 -1
  91. package/dist/client/assets/{vennDiagram-CIIHVFJN-DnHguEv8.js → vennDiagram-CIIHVFJN-CS0FNVU_.js} +1 -1
  92. package/dist/client/assets/{wardley-L42UT6IY-BOqYltGN.js → wardley-L42UT6IY-DdYkfF5d.js} +1 -1
  93. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-Re0Ery2M.js → wardleyDiagram-YWT4CUSO-B_rFmPCh.js} +1 -1
  94. package/dist/client/assets/{xychartDiagram-2RQKCTM6-CnVq21b2.js → xychartDiagram-2RQKCTM6-CCoaCgmc.js} +1 -1
  95. package/dist/client/index.html +2 -2
  96. package/dist/client/version.json +1 -1
  97. package/dist/droid-cli/package.json +1 -1
  98. package/dist/extension.js +3444 -2195
  99. package/dist/migrations/0000_initial.sql +3 -0
  100. package/dist/migrations/0061_fn_066_activity_log_task_id_index.sql +7 -0
  101. package/dist/migrations/0062_remove_task_subtask_splitting.sql +2 -0
  102. package/dist/migrations/0063_fn_090_ai_merge_review_reconciliation.sql +2 -0
  103. package/dist/migrations/0064_fn_094_task_repository_scope.sql +2 -0
  104. package/dist/pi-claude-cli/package.json +1 -1
  105. package/dist/plugin-sdk/index.d.ts +285 -186
  106. package/dist/plugin-sdk/index.js +35 -104
  107. package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +35 -104
  108. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  109. package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +35 -104
  110. package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
  111. package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +35 -104
  112. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  113. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +35 -104
  114. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  115. package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +35 -104
  116. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  117. package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +35 -104
  118. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  119. package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +35 -104
  120. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  121. package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +35 -104
  122. package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
  123. package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +35 -104
  124. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  125. package/dist/plugins/fusion-plugin-linear-import/bundled.js +35 -104
  126. package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
  127. package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +35 -104
  128. package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
  129. package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +35 -104
  130. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  131. package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +35 -104
  132. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  133. package/dist/plugins/fusion-plugin-quality/bundled.js +35 -104
  134. package/dist/plugins/fusion-plugin-quality/package.json +1 -1
  135. package/dist/plugins/fusion-plugin-reports/bundled.js +35 -104
  136. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  137. package/dist/plugins/fusion-plugin-roadmap/bundled.js +35 -104
  138. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  139. package/dist/plugins/fusion-plugin-todos/bundled.js +35 -104
  140. package/dist/plugins/fusion-plugin-todos/package.json +1 -1
  141. package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +35 -104
  142. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  143. package/package.json +1 -1
  144. package/skill/fusion/references/extension-tools.md +2 -1
  145. package/skill/fusion/references/fusion-capabilities.md +1 -1
  146. package/skill/fusion/references/task-structure.md +1 -1
  147. package/skill/fusion/workflows/specifications.md +2 -2
  148. package/dist/client/assets/ChatView-gH7QX3TI.js +0 -13
  149. package/dist/client/assets/SettingsModal-BAzmMjr9.js +0 -21
  150. package/dist/client/assets/app-B-TfWH9b.js +0 -5
  151. package/dist/client/assets/app-B2RDV_-t.js +0 -13
  152. package/dist/client/assets/app-CDo0mF2S.js +0 -5
  153. package/dist/client/assets/app-Cc18kAQS.js +0 -13
  154. package/dist/client/assets/app-DFF79EUn.js +0 -13
  155. package/dist/client/assets/app-DSeFHxgj.js +0 -13
  156. package/dist/client/assets/app-Ducr0y6r.js +0 -13
  157. package/dist/client/assets/channel-CP2ySYs0.js +0 -1
  158. package/dist/client/assets/classDiagram-4FO5ZUOK-DKkOBtzM.js +0 -1
  159. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DKkOBtzM.js +0 -1
  160. package/dist/client/assets/index-DXpztECA.css +0 -1
  161. package/dist/client/assets/index-I32FijPT.js +0 -2821
@@ -243,6 +243,17 @@ interface WorkflowReviewFinding {
243
243
  severity?: WorkflowReviewFindingSeverity;
244
244
  resolution?: WorkflowReviewFindingResolution;
245
245
  }
246
+ interface WorkflowRepositoryReviewOutcome {
247
+ repository: string;
248
+ status: "REVIEWED" | "NOT_REVIEWED";
249
+ verdict?: "APPROVE" | "APPROVE_WITH_NOTES" | "REVISE" | "RETHINK" | "UNAVAILABLE";
250
+ findings?: WorkflowReviewFinding[];
251
+ output?: string;
252
+ fingerprint?: string;
253
+ episodeId: string;
254
+ scopeRevision?: number;
255
+ reviewedAt: string;
256
+ }
246
257
  type WorkflowStepPhase = "pre-merge" | "post-merge";
247
258
  type WorkflowReviewKind = "plan" | "code";
248
259
  interface WorkflowStep {
@@ -314,6 +325,8 @@ interface WorkflowStepResult {
314
325
  reviewKind?: WorkflowReviewKind;
315
326
  output?: string;
316
327
  findings?: WorkflowReviewFinding[];
328
+ repositoryReviewOutcomes?: WorkflowRepositoryReviewOutcome[];
329
+ repositoryScopeRevision?: number;
317
330
  supersededFindingSourceWorkflowStepId?: string;
318
331
  supersededFindingIds?: string[];
319
332
  verdict?: "APPROVE" | "APPROVE_WITH_NOTES" | "REVISE" | "CLOSE_NO_OP";
@@ -527,6 +540,185 @@ interface StepStartResult {
527
540
  blockingStepIndex?: number;
528
541
  }
529
542
 
543
+ interface TaskRow {
544
+ id: string;
545
+ lineageId: string | null;
546
+ title: string | null;
547
+ description: string;
548
+ priority: string | null;
549
+ column: string;
550
+ status: string | null;
551
+ size: string | null;
552
+ reviewLevel: number | null;
553
+ currentStep: number;
554
+ worktree: string | null;
555
+ blockedBy: string | null;
556
+ overlapBlockedBy: string | null;
557
+ queuedLogEpisodeSignature: string | null;
558
+ paused: number | null;
559
+ pausedReason: string | null;
560
+ wedgeNotification: string | null;
561
+ userPaused: number | null;
562
+ baseBranch: string | null;
563
+ executionStartBranch: string | null;
564
+ branch: string | null;
565
+ autoMerge: number | null;
566
+ autoMergeProvenance: string | null;
567
+ baseCommitSha: string | null;
568
+ modelPresetId: string | null;
569
+ modelProvider: string | null;
570
+ credentialInstanceId: string | null;
571
+ modelId: string | null;
572
+ validatorModelProvider: string | null;
573
+ validatorCredentialInstanceId: string | null;
574
+ validatorModelId: string | null;
575
+ planningModelProvider: string | null;
576
+ planningCredentialInstanceId: string | null;
577
+ planningModelId: string | null;
578
+ mergerModelProvider: string | null;
579
+ mergerCredentialInstanceId: string | null;
580
+ mergerModelId: string | null;
581
+ mergeRetries: number | null;
582
+ aiMergeReviewReconciliation: string | null;
583
+ workflowStepRetries: number | null;
584
+ stuckKillCount: number | null;
585
+ resumeLimboCount: number | null;
586
+ graphResumeRetryCount: number | null;
587
+ consecutiveToolFailureRetryCount: number | null;
588
+ executorEscalationAttempted: number | null;
589
+ toolFailureDetectorLogCursor: number | null;
590
+ toolFailureRetryExhaustedAuditEmitted: number | null;
591
+ resumeLimboTipSha: string | null;
592
+ resumeLimboStepSignature: string | null;
593
+ executeRequeueLoopCount: number | null;
594
+ executeRequeueLoopSignature: string | null;
595
+ postReviewFixCount: number | null;
596
+ planReviewReplanCount: number | null;
597
+ recoveryRetryCount: number | null;
598
+ taskDoneRetryCount: number | null;
599
+ bulkCompletionRefusalAt: string | null;
600
+ workflowIrPin: string | null;
601
+ workflowIrPinNodeId: string | null;
602
+ workflowIrPinColumnId: string | null;
603
+ legacyAdoptedAt: string | null;
604
+ worktreeSessionRetryCount: number | null;
605
+ completionHandoffLimboRecoveryCount: number | null;
606
+ verificationFailureCount: number | null;
607
+ mergeConflictBounceCount: number | null;
608
+ mergeAuditBounceCount: number | null;
609
+ mergeTransientRetryCount: number | null;
610
+ branchConflictRecoveryCount: number | null;
611
+ reviewerContextRetryCount: number | null;
612
+ reviewerFallbackRetryCount: number | null;
613
+ nextRecoveryAt: string | null;
614
+ error: string | null;
615
+ summary: string | null;
616
+ recommendations: string | null;
617
+ thinkingLevel: string | null;
618
+ validatorThinkingLevel: string | null;
619
+ planningThinkingLevel: string | null;
620
+ mergerThinkingLevel: string | null;
621
+ executionMode: string | null;
622
+ sessionAdvisorEnabled: number | null;
623
+ tokenUsageInputTokens: number | null;
624
+ tokenUsageOutputTokens: number | null;
625
+ tokenUsageCachedTokens: number | null;
626
+ tokenUsageCacheWriteTokens: number | null;
627
+ tokenUsageTotalTokens: number | null;
628
+ tokenUsageFirstUsedAt: string | null;
629
+ tokenUsageLastUsedAt: string | null;
630
+ tokenUsageModelProvider: string | null;
631
+ tokenUsageModelId: string | null;
632
+ tokenUsagePerModel: string | null;
633
+ tokenBudgetSoftAlertedAt: string | null;
634
+ tokenBudgetHardAlertedAt: string | null;
635
+ tokenBudgetOverride: string | null;
636
+ createdAt: string;
637
+ updatedAt: string;
638
+ columnMovedAt: string | null;
639
+ firstExecutionAt: string | null;
640
+ cumulativeActiveMs: number | null;
641
+ cumulativePlanningMs: number | null;
642
+ planningStartedAt: string | null;
643
+ columnDwellMs: string | null;
644
+ workflowTransitionNotification: string | null;
645
+ plannerOversightLevel: string | null;
646
+ awaitingApprovalReason: string | null;
647
+ approvedPlanFingerprint: string | null;
648
+ executionStartedAt: string | null;
649
+ executionCompletedAt: string | null;
650
+ dependencies: string | null;
651
+ steps: string | null;
652
+ customFields: string | null;
653
+ log: string | null;
654
+ attachments: string | null;
655
+ steeringComments: string | null;
656
+ comments: string | null;
657
+ review: string | null;
658
+ reviewState: string | null;
659
+ workflowStepResults: string | null;
660
+ prInfo: string | null;
661
+ prInfos: string | null;
662
+ issueInfo: string | null;
663
+ githubTracking: string | null;
664
+ gitlabTracking: string | null;
665
+ sourceIssueProvider: string | null;
666
+ sourceIssueRepository: string | null;
667
+ sourceIssueExternalIssueId: string | null;
668
+ sourceIssueNumber: number | null;
669
+ sourceIssueUrl: string | null;
670
+ sourceIssueClosedAt: string | null;
671
+ mergeDetails: string | null;
672
+ workspaceWorktrees: string | null;
673
+ repositoryScope: string | null;
674
+ noCommitsExpected: number | null;
675
+ enabledWorkflowSteps: string | null;
676
+ modifiedFiles: string | null;
677
+ declaredSymbols: string | null;
678
+ missionId: string | null;
679
+ sliceId: string | null;
680
+ scopeOverride: number | null;
681
+ scopeOverrideReason: string | null;
682
+ scopeAutoWiden: string | null;
683
+ assignedAgentId: string | null;
684
+ pausedByAgentId: string | null;
685
+ assigneeUserId: string | null;
686
+ nodeId: string | null;
687
+ effectiveNodeId: string | null;
688
+ effectiveNodeSource: string | null;
689
+ sourceType: string | null;
690
+ sourceAgentId: string | null;
691
+ sourceRunId: string | null;
692
+ sourceSessionId: string | null;
693
+ sourceMessageId: string | null;
694
+ sourceParentTaskId: string | null;
695
+ sourceMetadata: string | null;
696
+ proposalClaimId: string | null;
697
+ checkedOutBy: string | null;
698
+ checkedOutAt: string | null;
699
+ checkoutNodeId: string | null;
700
+ checkoutRunId: string | null;
701
+ checkoutLeaseRenewedAt: string | null;
702
+ checkoutLeaseEpoch: number | null;
703
+ deletedAt: string | null;
704
+ allowResurrection: number | null;
705
+ }
706
+ type TaskPersistSerializationContext = {
707
+ lineageId: string;
708
+ };
709
+ type TaskColumnDescriptor = {
710
+ column: keyof TaskRow;
711
+ sqlIdentifier: string;
712
+ serialize: (task: Task, context: TaskPersistSerializationContext) => unknown;
713
+ };
714
+
715
+ type TaskRepositoryScopeMutation = {
716
+ action: "add" | "remove" | "refuse";
717
+ repositories: string[];
718
+ reason: string;
719
+ actor: string;
720
+ };
721
+
530
722
  declare const WORKFLOW_EXTENSION_SCHEMA_VERSION: 1;
531
723
  type WorkflowExtensionFallback = "degradeToDefault" | "parkNeedsAttention" | "failClosed";
532
724
  type WorkflowExtensionKind = "column-metadata" | "move-policy" | "work-engine" | "node-handler" | "verdict-provider" | "merge-fact-provider";
@@ -3546,8 +3738,10 @@ declare class CentralCore extends EventEmitter<CentralCoreEvents> {
3546
3738
  logActivity(entry: Omit<CentralActivityLogEntry, "id">): Promise<CentralActivityLogEntry>;
3547
3739
  getRecentActivity(options?: {
3548
3740
  limit?: number;
3741
+ since?: string;
3549
3742
  projectId?: string;
3550
3743
  types?: ActivityEventType[];
3744
+ taskId?: string;
3551
3745
  }): Promise<CentralActivityLogEntry[]>;
3552
3746
  getActivityCount(projectId?: string): Promise<number>;
3553
3747
  cleanupOldActivity(olderThanDays: number): Promise<number>;
@@ -3962,177 +4156,6 @@ type IntakeOwnershipExemption = {
3962
4156
  readonly [intakeOwnershipExemptionBrand]: true;
3963
4157
  };
3964
4158
 
3965
- interface TaskRow {
3966
- id: string;
3967
- lineageId: string | null;
3968
- title: string | null;
3969
- description: string;
3970
- priority: string | null;
3971
- column: string;
3972
- status: string | null;
3973
- size: string | null;
3974
- reviewLevel: number | null;
3975
- currentStep: number;
3976
- worktree: string | null;
3977
- blockedBy: string | null;
3978
- overlapBlockedBy: string | null;
3979
- queuedLogEpisodeSignature: string | null;
3980
- paused: number | null;
3981
- pausedReason: string | null;
3982
- wedgeNotification: string | null;
3983
- userPaused: number | null;
3984
- baseBranch: string | null;
3985
- executionStartBranch: string | null;
3986
- branch: string | null;
3987
- autoMerge: number | null;
3988
- autoMergeProvenance: string | null;
3989
- baseCommitSha: string | null;
3990
- modelPresetId: string | null;
3991
- modelProvider: string | null;
3992
- credentialInstanceId: string | null;
3993
- modelId: string | null;
3994
- validatorModelProvider: string | null;
3995
- validatorCredentialInstanceId: string | null;
3996
- validatorModelId: string | null;
3997
- planningModelProvider: string | null;
3998
- planningCredentialInstanceId: string | null;
3999
- planningModelId: string | null;
4000
- mergerModelProvider: string | null;
4001
- mergerCredentialInstanceId: string | null;
4002
- mergerModelId: string | null;
4003
- mergeRetries: number | null;
4004
- workflowStepRetries: number | null;
4005
- stuckKillCount: number | null;
4006
- resumeLimboCount: number | null;
4007
- graphResumeRetryCount: number | null;
4008
- consecutiveToolFailureRetryCount: number | null;
4009
- executorEscalationAttempted: number | null;
4010
- toolFailureDetectorLogCursor: number | null;
4011
- toolFailureRetryExhaustedAuditEmitted: number | null;
4012
- resumeLimboTipSha: string | null;
4013
- resumeLimboStepSignature: string | null;
4014
- executeRequeueLoopCount: number | null;
4015
- executeRequeueLoopSignature: string | null;
4016
- postReviewFixCount: number | null;
4017
- planReviewReplanCount: number | null;
4018
- recoveryRetryCount: number | null;
4019
- taskDoneRetryCount: number | null;
4020
- bulkCompletionRefusalAt: string | null;
4021
- workflowIrPin: string | null;
4022
- workflowIrPinNodeId: string | null;
4023
- workflowIrPinColumnId: string | null;
4024
- legacyAdoptedAt: string | null;
4025
- worktreeSessionRetryCount: number | null;
4026
- completionHandoffLimboRecoveryCount: number | null;
4027
- verificationFailureCount: number | null;
4028
- mergeConflictBounceCount: number | null;
4029
- mergeAuditBounceCount: number | null;
4030
- mergeTransientRetryCount: number | null;
4031
- branchConflictRecoveryCount: number | null;
4032
- reviewerContextRetryCount: number | null;
4033
- reviewerFallbackRetryCount: number | null;
4034
- nextRecoveryAt: string | null;
4035
- error: string | null;
4036
- summary: string | null;
4037
- recommendations: string | null;
4038
- thinkingLevel: string | null;
4039
- validatorThinkingLevel: string | null;
4040
- planningThinkingLevel: string | null;
4041
- mergerThinkingLevel: string | null;
4042
- executionMode: string | null;
4043
- sessionAdvisorEnabled: number | null;
4044
- tokenUsageInputTokens: number | null;
4045
- tokenUsageOutputTokens: number | null;
4046
- tokenUsageCachedTokens: number | null;
4047
- tokenUsageCacheWriteTokens: number | null;
4048
- tokenUsageTotalTokens: number | null;
4049
- tokenUsageFirstUsedAt: string | null;
4050
- tokenUsageLastUsedAt: string | null;
4051
- tokenUsageModelProvider: string | null;
4052
- tokenUsageModelId: string | null;
4053
- tokenUsagePerModel: string | null;
4054
- tokenBudgetSoftAlertedAt: string | null;
4055
- tokenBudgetHardAlertedAt: string | null;
4056
- tokenBudgetOverride: string | null;
4057
- createdAt: string;
4058
- updatedAt: string;
4059
- columnMovedAt: string | null;
4060
- firstExecutionAt: string | null;
4061
- cumulativeActiveMs: number | null;
4062
- cumulativePlanningMs: number | null;
4063
- planningStartedAt: string | null;
4064
- columnDwellMs: string | null;
4065
- workflowTransitionNotification: string | null;
4066
- plannerOversightLevel: string | null;
4067
- awaitingApprovalReason: string | null;
4068
- approvedPlanFingerprint: string | null;
4069
- executionStartedAt: string | null;
4070
- executionCompletedAt: string | null;
4071
- dependencies: string | null;
4072
- steps: string | null;
4073
- customFields: string | null;
4074
- log: string | null;
4075
- attachments: string | null;
4076
- steeringComments: string | null;
4077
- comments: string | null;
4078
- review: string | null;
4079
- reviewState: string | null;
4080
- workflowStepResults: string | null;
4081
- prInfo: string | null;
4082
- prInfos: string | null;
4083
- issueInfo: string | null;
4084
- githubTracking: string | null;
4085
- gitlabTracking: string | null;
4086
- sourceIssueProvider: string | null;
4087
- sourceIssueRepository: string | null;
4088
- sourceIssueExternalIssueId: string | null;
4089
- sourceIssueNumber: number | null;
4090
- sourceIssueUrl: string | null;
4091
- sourceIssueClosedAt: string | null;
4092
- mergeDetails: string | null;
4093
- workspaceWorktrees: string | null;
4094
- breakIntoSubtasks: number | null;
4095
- noCommitsExpected: number | null;
4096
- enabledWorkflowSteps: string | null;
4097
- modifiedFiles: string | null;
4098
- declaredSymbols: string | null;
4099
- missionId: string | null;
4100
- sliceId: string | null;
4101
- scopeOverride: number | null;
4102
- scopeOverrideReason: string | null;
4103
- scopeAutoWiden: string | null;
4104
- assignedAgentId: string | null;
4105
- pausedByAgentId: string | null;
4106
- assigneeUserId: string | null;
4107
- nodeId: string | null;
4108
- effectiveNodeId: string | null;
4109
- effectiveNodeSource: string | null;
4110
- sourceType: string | null;
4111
- sourceAgentId: string | null;
4112
- sourceRunId: string | null;
4113
- sourceSessionId: string | null;
4114
- sourceMessageId: string | null;
4115
- sourceParentTaskId: string | null;
4116
- sourceMetadata: string | null;
4117
- proposalClaimId: string | null;
4118
- checkedOutBy: string | null;
4119
- checkedOutAt: string | null;
4120
- checkoutNodeId: string | null;
4121
- checkoutRunId: string | null;
4122
- checkoutLeaseRenewedAt: string | null;
4123
- checkoutLeaseEpoch: number | null;
4124
- deletedAt: string | null;
4125
- allowResurrection: number | null;
4126
- }
4127
- type TaskPersistSerializationContext = {
4128
- lineageId: string;
4129
- };
4130
- type TaskColumnDescriptor = {
4131
- column: keyof TaskRow;
4132
- sqlIdentifier: string;
4133
- serialize: (task: Task, context: TaskPersistSerializationContext) => unknown;
4134
- };
4135
-
4136
4159
  interface MoveTaskIfResult {
4137
4160
  task: Task;
4138
4161
  moved: boolean;
@@ -4823,7 +4846,6 @@ interface TaskStoreEvents {
4823
4846
  }];
4824
4847
  "task:deleted": [task: Task, meta?: {
4825
4848
  githubIssueAction?: GithubIssueAction;
4826
- closureContext?: TaskDeleteClosureContext;
4827
4849
  observed?: boolean;
4828
4850
  outboxEventId?: string;
4829
4851
  }];
@@ -4999,7 +5021,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
4999
5021
  consumerId?: string;
5000
5022
  });
5001
5023
  emitTaskLifecycleEventSafely(event: "task:created" | "task:updated" | "task:deleted", args: TaskStoreEvents["task:created"] | TaskStoreEvents["task:updated"] | TaskStoreEvents["task:deleted"]): boolean;
5002
- emitObservedTaskDeleted(task: Task, outboxEventId: string, metadata?: Pick<NonNullable<TaskStoreEvents["task:deleted"][1]>, "githubIssueAction" | "closureContext">): boolean;
5024
+ emitObservedTaskDeleted(task: Task, outboxEventId: string, metadata?: Pick<NonNullable<TaskStoreEvents["task:deleted"][1]>, "githubIssueAction">): boolean;
5003
5025
  startTaskDeletedOutboxConsumer(): Promise<void>;
5004
5026
  stopTaskDeletedOutboxConsumer(): Promise<void>;
5005
5027
  get db(): Database;
@@ -5494,6 +5516,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5494
5516
  prompt?: string;
5495
5517
  worktree?: string | null;
5496
5518
  workspaceWorktrees?: Task["workspaceWorktrees"];
5519
+ repositoryScope?: Task["repositoryScope"] | null;
5497
5520
  status?: string | null;
5498
5521
  awaitingApprovalReason?: Task["awaitingApprovalReason"] | null;
5499
5522
  dependencies?: string[];
@@ -5530,12 +5553,16 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5530
5553
  baseBranch?: string | null;
5531
5554
  autoMerge?: boolean | null;
5532
5555
  branch?: string | null;
5556
+ branchWriteOrigin?: "operator" | "engine";
5557
+ branchContext?: TaskBranchContext | null;
5533
5558
  executionStartBranch?: string | null;
5534
5559
  baseCommitSha?: string | null;
5535
5560
  size?: "S" | "M" | "L";
5536
5561
  reviewLevel?: number;
5537
5562
  executionMode?: ExecutionMode | null;
5538
5563
  mergeRetries?: number;
5564
+ aiMergeReviewReconciliation?: Task["aiMergeReviewReconciliation"] | null;
5565
+ log?: TaskLogEntry[];
5539
5566
  workflowStepRetries?: number;
5540
5567
  stuckKillCount?: number | null;
5541
5568
  resumeLimboCount?: number | null;
@@ -5668,12 +5695,19 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5668
5695
  claimNextToolFailureRetry(taskId: string, expectedCursor: number, maxRetries: number): Promise<ToolFailureRetryClaim>;
5669
5696
  markToolFailureRetryExhaustedAudit(taskId: string): Promise<boolean>;
5670
5697
  updateTaskAtomic(id: string, updater: (current: Task) => Parameters<TaskStore["updateTask"]>[1] | null | undefined | Promise<Parameters<TaskStore["updateTask"]>[1] | null | undefined>, runContext?: RunMutationContext): Promise<Task>;
5698
+ dismissAiMergeReviewFinding(taskId: string, findingId: string, reason: string, actor?: string): Promise<Task>;
5671
5699
  linkTaskRecommendation(id: string, recommendationId: string, createdTaskId: string, completeColumns?: ReadonlySet<string>): Promise<Task>;
5672
5700
  normalizeWorkspaceTaskWorktreeMetadata(id: string): Promise<Task>;
5673
5701
  mergeWorkspaceWorktreeEntry(id: string, repoRelPath: string, patch: Partial<WorkspaceWorktreeEntry>, options?: {
5674
5702
  requireExistingEntry?: boolean;
5675
5703
  clearSingularWorktree?: boolean;
5676
5704
  }): Promise<Task>;
5705
+ updateTaskRepositoryScope(id: string, repositoryScope: TaskRepositoryScope | undefined): Promise<Task>;
5706
+ mutateTaskRepositoryScope(id: string, mutation: TaskRepositoryScopeMutation): Promise<Task>;
5707
+ updateWorkspaceReviewState(id: string, expectedScopeRevision: number, reviewRemediation: TaskRepositoryScope["reviewRemediation"] | null): Promise<{
5708
+ task: Task;
5709
+ updated: boolean;
5710
+ }>;
5677
5711
  resolveTaskWedgeNotificationEpisode(id: string, episodeId: string): Promise<{
5678
5712
  task: Task;
5679
5713
  resolved: boolean;
@@ -5845,7 +5879,6 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5845
5879
  removeLineageReferences?: boolean;
5846
5880
  allowResurrection?: boolean;
5847
5881
  githubIssueAction?: GithubIssueAction;
5848
- closureContext?: TaskDeleteClosureContext;
5849
5882
  auditContext?: TaskDeleteAuditContext;
5850
5883
  }): Promise<Task>;
5851
5884
  recordRunAuditEventBackend(tx: DbTransaction, event: {
@@ -5862,7 +5895,6 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5862
5895
  removeLineageReferences?: boolean;
5863
5896
  allowResurrection?: boolean;
5864
5897
  githubIssueAction?: GithubIssueAction;
5865
- closureContext?: TaskDeleteClosureContext;
5866
5898
  auditContext?: TaskDeleteAuditContext;
5867
5899
  }): Promise<Task>;
5868
5900
  deleteTaskIf(id: string, predicate: (live: Task) => boolean | Promise<boolean>, options?: {
@@ -5870,7 +5902,6 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5870
5902
  removeLineageReferences?: boolean;
5871
5903
  allowResurrection?: boolean;
5872
5904
  githubIssueAction?: GithubIssueAction;
5873
- closureContext?: TaskDeleteClosureContext;
5874
5905
  auditContext?: TaskDeleteAuditContext;
5875
5906
  }): Promise<DeleteTaskIfResult>;
5876
5907
  deleteTaskById(taskId: string): void;
@@ -6193,6 +6224,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
6193
6224
  limit?: number;
6194
6225
  since?: string;
6195
6226
  type?: ActivityEventType;
6227
+ taskId?: string;
6196
6228
  }): Promise<ActivityLogEntry[]>;
6197
6229
  getTaskMovedCountsByDay(options: {
6198
6230
  since: string;
@@ -7379,9 +7411,15 @@ interface TaskSource {
7379
7411
  type TaskBranchGroupSource = "planning" | "mission" | "new-task";
7380
7412
  type TaskBranchAssignmentMode = "shared" | "per-task-derived";
7381
7413
  interface TaskBranchContext {
7414
+ branchOverride?: {
7415
+ by: "operator";
7416
+ at: string;
7417
+ branch: string;
7418
+ previousBranch?: string;
7419
+ };
7382
7420
  groupId?: string;
7383
- source: TaskBranchGroupSource;
7384
- assignmentMode: TaskBranchAssignmentMode;
7421
+ source?: TaskBranchGroupSource;
7422
+ assignmentMode?: TaskBranchAssignmentMode;
7385
7423
  inheritedBaseBranch?: string;
7386
7424
  }
7387
7425
  type BranchGroupPrState = "none" | "open" | "merged" | "closed";
@@ -7556,6 +7594,32 @@ interface TaskReleaseGateVerdict {
7556
7594
  evaluatedAt: string;
7557
7595
  evaluatedForUpdatedAt?: string;
7558
7596
  }
7597
+ interface TaskRepositoryScope {
7598
+ repositories: string[];
7599
+ state?: "proposed" | "confirmed";
7600
+ revision?: number;
7601
+ confirmedAt?: string;
7602
+ confirmedBy?: "operator" | "plan" | "inferred";
7603
+ reviewEvidence?: Record<string, {
7604
+ fingerprint: string;
7605
+ approvedAt: string;
7606
+ }>;
7607
+ reviewRemediation?: {
7608
+ scopeRevision: number;
7609
+ repository: string;
7610
+ inputSignature: string;
7611
+ };
7612
+ extensions?: Array<{
7613
+ repository: string;
7614
+ requestedAt: string;
7615
+ requestedBy: string;
7616
+ reason: string;
7617
+ status: "accepted" | "refused";
7618
+ refusedAt?: string;
7619
+ refusedBy?: string;
7620
+ refusalReason?: string;
7621
+ }>;
7622
+ }
7559
7623
  interface WorkspaceWorktreeEntry {
7560
7624
  worktreePath: string;
7561
7625
  branch: string;
@@ -7570,6 +7634,28 @@ interface WorkspaceWorktreeEntry {
7570
7634
  branch?: string;
7571
7635
  };
7572
7636
  }
7637
+ type AiMergeFindingDisposition = "pending" | "corrected" | "absent-from-squash" | "still-present" | "dismissed";
7638
+ interface AiMergeReviewFinding {
7639
+ id: string;
7640
+ text: string;
7641
+ disposition: AiMergeFindingDisposition;
7642
+ audit?: Array<{
7643
+ at: string;
7644
+ actor: string;
7645
+ disposition: AiMergeFindingDisposition;
7646
+ reason?: string;
7647
+ }>;
7648
+ }
7649
+ interface AiMergeReviewReconciliation {
7650
+ sourceSha: string;
7651
+ integrationTipSha: string;
7652
+ candidateSha?: string;
7653
+ candidateTreeSha?: string;
7654
+ findings: AiMergeReviewFinding[];
7655
+ consecutiveCleanApprovals: number;
7656
+ correctivePasses: number;
7657
+ terminal?: boolean;
7658
+ }
7573
7659
  interface Task {
7574
7660
  id: string;
7575
7661
  lineageId?: string;
@@ -7580,10 +7666,10 @@ interface Task {
7580
7666
  column: ColumnId;
7581
7667
  preArchiveColumn?: Column;
7582
7668
  dependencies: string[];
7583
- breakIntoSubtasks?: boolean;
7584
7669
  noCommitsExpected?: boolean;
7585
7670
  worktree?: string;
7586
7671
  workspaceWorktrees?: Record<string, WorkspaceWorktreeEntry>;
7672
+ repositoryScope?: TaskRepositoryScope;
7587
7673
  steps: TaskStep[];
7588
7674
  currentStep: number;
7589
7675
  customFields?: Record<string, unknown>;
@@ -7664,6 +7750,7 @@ interface Task {
7664
7750
  enabledWorkflowSteps?: string[];
7665
7751
  workflowStepResults?: WorkflowStepResult[];
7666
7752
  mergeRetries?: number;
7753
+ aiMergeReviewReconciliation?: AiMergeReviewReconciliation;
7667
7754
  workflowStepRetries?: number;
7668
7755
  stuckKillCount?: number;
7669
7756
  resumeLimboCount?: number;
@@ -7696,7 +7783,7 @@ interface Task {
7696
7783
  reviewerFallbackRetryCount?: number;
7697
7784
  retrySummary?: RetrySummary;
7698
7785
  nextRecoveryAt?: string;
7699
- awaitingApprovalReason?: "release-authorization" | "plan-review-replan-cap" | "merge-blocked-by-policy";
7786
+ awaitingApprovalReason?: "release-authorization" | "plan-review-replan-cap" | "merge-blocked-by-policy" | "code-review-non-convergence";
7700
7787
  approvedPlanFingerprint?: string;
7701
7788
  thinkingLevel?: ThinkingLevel;
7702
7789
  validatorThinkingLevel?: ThinkingLevel;
@@ -7800,6 +7887,7 @@ interface TaskCreateInput {
7800
7887
  description: string;
7801
7888
  baseBranch?: string;
7802
7889
  branch?: string;
7890
+ branchWriteOrigin?: "operator" | "engine";
7803
7891
  branchContext?: TaskBranchContext;
7804
7892
  taskPrefix?: string;
7805
7893
  autoMerge?: boolean;
@@ -7811,8 +7899,8 @@ interface TaskCreateInput {
7811
7899
  priority?: TaskPriority;
7812
7900
  column?: ColumnId;
7813
7901
  dependencies?: string[];
7814
- breakIntoSubtasks?: boolean;
7815
7902
  noCommitsExpected?: boolean;
7903
+ repositoryScope?: string[];
7816
7904
  enabledWorkflowSteps?: string[];
7817
7905
  workflowId?: string | null;
7818
7906
  modelPresetId?: string;
@@ -8099,9 +8187,18 @@ interface GlobalSettings {
8099
8187
  gitlabApiBaseUrl?: string;
8100
8188
  gitlabAuthToken?: string;
8101
8189
  gitlabAuthTokenType?: GitlabAuthTokenType;
8190
+ jiraEnabled?: boolean;
8191
+ jiraBaseUrl?: string;
8192
+ jiraApiBaseUrl?: string;
8193
+ jiraAuthEmail?: string;
8194
+ jiraAuthTokenSecretKey?: string;
8195
+ jiraAuthTokenSecretScope?: "project" | "global";
8196
+ jiraBranchNameTemplate?: string;
8102
8197
  updateCheckFrequency?: "manual" | "on-startup" | "daily" | "weekly";
8103
8198
  updateChannel?: UpdateChannel;
8104
8199
  autoUpdateAndRestart?: boolean;
8200
+ autoUpdateEnabled?: boolean;
8201
+ autoRestartAfterUpdate?: boolean;
8105
8202
  autoReloadOnVersionChange?: boolean;
8106
8203
  modelOnboardingComplete?: boolean;
8107
8204
  useClaudeCli?: boolean;
@@ -8488,6 +8585,13 @@ interface ProjectSettings {
8488
8585
  gitlabApiBaseUrl?: string;
8489
8586
  gitlabAuthToken?: string;
8490
8587
  gitlabAuthTokenType?: GitlabAuthTokenType;
8588
+ jiraEnabled?: boolean;
8589
+ jiraBaseUrl?: string;
8590
+ jiraApiBaseUrl?: string;
8591
+ jiraAuthEmail?: string;
8592
+ jiraAuthTokenSecretKey?: string;
8593
+ jiraAuthTokenSecretScope?: "project" | "global";
8594
+ jiraBranchNameTemplate?: string;
8491
8595
  gitlabCommentOnDone?: boolean;
8492
8596
  gitlabCommentTemplate?: string;
8493
8597
  gitlabCloseSourceIssueOnDone?: boolean;
@@ -8851,7 +8955,6 @@ interface ArchivedTaskEntry {
8851
8955
  mergerModelId?: string;
8852
8956
  mergerThinkingLevel?: ThinkingLevel;
8853
8957
  tokenUsage?: TaskTokenUsage;
8854
- breakIntoSubtasks?: boolean;
8855
8958
  noCommitsExpected?: boolean;
8856
8959
  paused?: boolean;
8857
8960
  baseBranch?: string;
@@ -9204,10 +9307,6 @@ interface RunAuditEventFilter {
9204
9307
  limit?: number;
9205
9308
  }
9206
9309
 
9207
- interface TaskDeleteClosureContext {
9208
- kind: "split-into-subtasks";
9209
- childTaskIds: string[];
9210
- }
9211
9310
  interface BlockedStateSnapshot {
9212
9311
  taskId: string;
9213
9312
  blockedBy: string;