@runfusion/fusion 0.78.0-beta.3 → 0.78.0-beta.4

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 (165) hide show
  1. package/dist/bin.js +4076 -4950
  2. package/dist/child-process-worker.js +3064 -3550
  3. package/dist/client/.vite/manifest.json +259 -259
  4. package/dist/client/assets/{AgentDetailView-DAtUBPar.js → AgentDetailView-BVDrAj1Y.js} +3 -3
  5. package/dist/client/assets/AgentDetailView-DaSEdzYy.css +1 -0
  6. package/dist/client/assets/{AgentPermissionPolicyEditor-Cth5Qyvz.js → AgentPermissionPolicyEditor--11QLSt_.js} +1 -1
  7. package/dist/client/assets/{AgentsView-D6odi29-.js → AgentsView-D3mLjE0-.js} +4 -4
  8. package/dist/client/assets/{CommandCenter-DUlZFMvJ.js → CommandCenter-CPy2a26y.js} +1 -1
  9. package/dist/client/assets/{DevServerView-GD1-vwId.js → DevServerView-CWHhisoR.js} +1 -1
  10. package/dist/client/assets/{DirectoryPicker-De3Q7_zu.js → DirectoryPicker-DMd9MEtq.js} +1 -1
  11. package/dist/client/assets/DocumentsView-YeYy6DJV.js +1 -0
  12. package/dist/client/assets/{EvalsView-CYfclysr.js → EvalsView-DfvYGoX4.js} +1 -1
  13. package/dist/client/assets/{ExperimentalAgentOnboardingModal-B1dQuReY.js → ExperimentalAgentOnboardingModal-CFjRfBUk.js} +1 -1
  14. package/dist/client/assets/{GoalsView-BHxjegdt.js → GoalsView-DdlI85_-.js} +1 -1
  15. package/dist/client/assets/InsightsView-Du2UKeQE.js +11 -0
  16. package/dist/client/assets/{MemoryView-O8vfqipX.js → MemoryView-DeSuPKc7.js} +1 -1
  17. package/dist/client/assets/{PatchnodeView-WM5ZlnTS.js → PatchnodeView-Ow5ErHE3.js} +1 -1
  18. package/dist/client/assets/{PiExtensionsManager-BrTit_vk.js → PiExtensionsManager-D65p_Z4a.js} +1 -1
  19. package/dist/client/assets/{PluginManager-DBUm9Q30.js → PluginManager-BruzVBGM.js} +1 -1
  20. package/dist/client/assets/{PullRequestView-DW9EqNT3.js → PullRequestView-BTzsKxrq.js} +1 -1
  21. package/dist/client/assets/{ReportModal-Cv7Lxy1u.js → ReportModal-YpkrGp21.js} +2 -2
  22. package/dist/client/assets/ResearchView-D0oWTBMk.js +2 -0
  23. package/dist/client/assets/{SecretsView-C2K-n5_X.js → SecretsView-B6ZH6O1O.js} +1 -1
  24. package/dist/client/assets/{SettingsModal-Crpg0GmF.js → SettingsModal-CN4NVtbD.js} +1 -1
  25. package/dist/client/assets/SettingsModal-CmPRFol7.css +1 -0
  26. package/dist/client/assets/SettingsModal-CwUcFHcw.js +21 -0
  27. package/dist/client/assets/{SettingsTextareaRow-B7FIDTtF.js → SettingsTextareaRow-B_iNwevV.js} +1 -1
  28. package/dist/client/assets/{SetupWizardModal-CBWFrde9.js → SetupWizardModal-BSAtv8xH.js} +2 -2
  29. package/dist/client/assets/{SkillsView-B1l4qkYj.js → SkillsView-DhhiUAPO.js} +1 -1
  30. package/dist/client/assets/{WorkflowNodeEditor-e122mQ0Z.js → WorkflowNodeEditor-YeZ_DH3a.js} +1 -1
  31. package/dist/client/assets/{agent-import-generation-CX_NVRPC.js → agent-import-generation-BPFU14s8.js} +1 -1
  32. package/dist/client/assets/{agentsOrgChartLayout-BAhAecHd.js → agentsOrgChartLayout-CWqQ9XMW.js} +1 -1
  33. package/dist/client/assets/app-BVuhE-pB.js +3 -0
  34. package/dist/client/assets/app-BVz53oEh.js +9 -0
  35. package/dist/client/assets/app-BfzM5z-d.js +9 -0
  36. package/dist/client/assets/app-BgtLSw3s.js +9 -0
  37. package/dist/client/assets/app-BpjF_vWi.js +9 -0
  38. package/dist/client/assets/app-Cjqb3Hrq.js +3 -0
  39. package/dist/client/assets/app-CoyPSunU.js +9 -0
  40. package/dist/client/assets/{architectureDiagram-3BPJPVTR-BOmFDW7M.js → architectureDiagram-3BPJPVTR-DX2xxWsB.js} +1 -1
  41. package/dist/client/assets/{blockDiagram-GPEHLZMM-D7CnZ9-e.js → blockDiagram-GPEHLZMM-tVB-pLpH.js} +1 -1
  42. package/dist/client/assets/{c4Diagram-AAUBKEIU-CQZw8PeP.js → c4Diagram-AAUBKEIU-BEV-l4nl.js} +1 -1
  43. package/dist/client/assets/channel-BoqUD_yo.js +1 -0
  44. package/dist/client/assets/{chunk-2J33WTMH-DBS2o2AZ.js → chunk-2J33WTMH-DduonyQt.js} +1 -1
  45. package/dist/client/assets/{chunk-4BX2VUAB-CFKEnTmJ.js → chunk-4BX2VUAB-BPCXybBl.js} +1 -1
  46. package/dist/client/assets/{chunk-55IACEB6-DpjYRScs.js → chunk-55IACEB6-ByqbaUCB.js} +1 -1
  47. package/dist/client/assets/{chunk-727SXJPM-Db7lQvPG.js → chunk-727SXJPM-DdtczHe_.js} +1 -1
  48. package/dist/client/assets/{chunk-AQP2D5EJ-rSGEvDdj.js → chunk-AQP2D5EJ-V5pHkNOZ.js} +1 -1
  49. package/dist/client/assets/{chunk-FMBD7UC4-Cdi9zNME.js → chunk-FMBD7UC4-i0P_U91V.js} +1 -1
  50. package/dist/client/assets/{chunk-ND2GUHAM-D_3BQZ27.js → chunk-ND2GUHAM-BWdXSws9.js} +1 -1
  51. package/dist/client/assets/{chunk-QZHKN3VN-DnVoTnz9.js → chunk-QZHKN3VN-C7vpw2O4.js} +1 -1
  52. package/dist/client/assets/classDiagram-4FO5ZUOK-5Yk5cF5o.js +1 -0
  53. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-5Yk5cF5o.js +1 -0
  54. package/dist/client/assets/{cose-bilkent-S5V4N54A-HQFw9frh.js → cose-bilkent-S5V4N54A-C_OJmqvv.js} +1 -1
  55. package/dist/client/assets/{dagre-BM42HDAG-BdHp0sc2.js → dagre-BM42HDAG-DlxhXtcR.js} +1 -1
  56. package/dist/client/assets/{dashboard-view-C3vvo4zP.js → dashboard-view-C_aj9Avl.js} +2 -2
  57. package/dist/client/assets/{dashboard-view-mWhkEiwE.js → dashboard-view-CtFwciFc.js} +1 -1
  58. package/dist/client/assets/dashboard-view-Cy2aXOHq.js +1 -0
  59. package/dist/client/assets/{dashboard-view-DaqL1Ufr.js → dashboard-view-ZNgeI6tK.js} +1 -1
  60. package/dist/client/assets/{diagram-2AECGRRQ-BDu9AETT.js → diagram-2AECGRRQ-B5OQ5SjT.js} +1 -1
  61. package/dist/client/assets/{diagram-5GNKFQAL-2qzqfWTz.js → diagram-5GNKFQAL-OnHyeSDX.js} +1 -1
  62. package/dist/client/assets/{diagram-KO2AKTUF-DYa-tplS.js → diagram-KO2AKTUF-BESRlk6K.js} +1 -1
  63. package/dist/client/assets/{diagram-LMA3HP47-ChwcQccK.js → diagram-LMA3HP47-jc5KVOgo.js} +1 -1
  64. package/dist/client/assets/{diagram-OG6HWLK6-DoGKft5E.js → diagram-OG6HWLK6-CbvV1B1C.js} +1 -1
  65. package/dist/client/assets/{erDiagram-TEJ5UH35-5dsSgUXk.js → erDiagram-TEJ5UH35-CU4gukmG.js} +1 -1
  66. package/dist/client/assets/{flowDiagram-I6XJVG4X-BOHB4RzL.js → flowDiagram-I6XJVG4X-Dq9UKge4.js} +1 -1
  67. package/dist/client/assets/{folder-open-BQcY8jvq.js → folder-open-CF9O-sX4.js} +1 -1
  68. package/dist/client/assets/{ganttDiagram-6RSMTGT7-BD3aivUG.js → ganttDiagram-6RSMTGT7-BWA_00UM.js} +1 -1
  69. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-HBZEAECF.js → gitGraphDiagram-PVQCEYII-DKdPzNtQ.js} +1 -1
  70. package/dist/client/assets/index-CiVIbypZ.js +2949 -0
  71. package/dist/client/assets/index-Duxgoh_Y.css +1 -0
  72. package/dist/client/assets/{infoDiagram-5YYISTIA-d7hsqM0V.js → infoDiagram-5YYISTIA-BvusFnLt.js} +1 -1
  73. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-k4Dnhc_y.js → ishikawaDiagram-YF4QCWOH-NLucC59B.js} +1 -1
  74. package/dist/client/assets/{journeyDiagram-JHISSGLW-Dh3yqZPQ.js → journeyDiagram-JHISSGLW-OMF0ZqP2.js} +1 -1
  75. package/dist/client/assets/{kanban-definition-UN3LZRKU-BYqpe7Ju.js → kanban-definition-UN3LZRKU-DcIw1Gei.js} +1 -1
  76. package/dist/client/assets/{mermaid.core-D5Ccw5tQ.js → mermaid.core-BXdGnca4.js} +4 -4
  77. package/dist/client/assets/{mindmap-definition-RKZ34NQL-D64P3Mc4.js → mindmap-definition-RKZ34NQL-CJdZ2giE.js} +1 -1
  78. package/dist/client/assets/{pieDiagram-4H26LBE5-CtMfKnlZ.js → pieDiagram-4H26LBE5-CIS3IXyQ.js} +1 -1
  79. package/dist/client/assets/{puzzle-D4y4g-nb.js → puzzle-DLP4jrVO.js} +1 -1
  80. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-B5gSMr9M.js → quadrantDiagram-W4KKPZXB-CyXg_FqY.js} +1 -1
  81. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DKtBfWDi.js → requirementDiagram-4Y6WPE33-Cl5zZfEW.js} +1 -1
  82. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-BcWeBcNk.js → sankeyDiagram-5OEKKPKP-RPvS_KDe.js} +1 -1
  83. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-Crp7Mc0M.js → sequenceDiagram-3UESZ5HK-mqxbDVma.js} +1 -1
  84. package/dist/client/assets/{standing-instructions-template-lD5Vcanq.js → standing-instructions-template-oByMjuf9.js} +1 -1
  85. package/dist/client/assets/{stateDiagram-AJRCARHV-CA5FEPYe.js → stateDiagram-AJRCARHV-BMThgwA0.js} +1 -1
  86. package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-Bo75sO6t.js → stateDiagram-v2-BHNVJYJU-BQQVmi0s.js} +1 -1
  87. package/dist/client/assets/{timeline-definition-PNZ67QCA-Dmr4NeTD.js → timeline-definition-PNZ67QCA-DxRT4zz3.js} +1 -1
  88. package/dist/client/assets/{upload-CzJ1o8Px.js → upload-C1hBXwxT.js} +1 -1
  89. package/dist/client/assets/{users-BMnytPKO.js → users-CUTsjdYo.js} +1 -1
  90. package/dist/client/assets/{vennDiagram-CIIHVFJN-DfbBSNgT.js → vennDiagram-CIIHVFJN-CplrXnmO.js} +1 -1
  91. package/dist/client/assets/{wardley-L42UT6IY-Wxq1L5VU.js → wardley-L42UT6IY-DN3nUl9Y.js} +1 -1
  92. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-D6HnIS8j.js → wardleyDiagram-YWT4CUSO-C0hUcS3e.js} +1 -1
  93. package/dist/client/assets/{xychartDiagram-2RQKCTM6-5MfFlu30.js → xychartDiagram-2RQKCTM6-CDB05pHe.js} +1 -1
  94. package/dist/client/index.html +2 -2
  95. package/dist/client/version.json +1 -1
  96. package/dist/droid-cli/package.json +1 -1
  97. package/dist/extension.js +3278 -3998
  98. package/dist/pi-claude-cli/package.json +1 -1
  99. package/dist/plugin-sdk/index.d.ts +104 -125
  100. package/dist/plugin-sdk/index.js +35 -93
  101. package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +35 -93
  102. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  103. package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +35 -93
  104. package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
  105. package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +35 -93
  106. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  107. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +35 -93
  108. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  109. package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +35 -93
  110. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  111. package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +35 -93
  112. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  113. package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +35 -93
  114. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  115. package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +35 -93
  116. package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
  117. package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +35 -93
  118. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  119. package/dist/plugins/fusion-plugin-linear-import/bundled.js +35 -93
  120. package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
  121. package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +35 -93
  122. package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
  123. package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +35 -93
  124. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  125. package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +35 -93
  126. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  127. package/dist/plugins/fusion-plugin-quality/bundled.js +35 -93
  128. package/dist/plugins/fusion-plugin-quality/package.json +1 -1
  129. package/dist/plugins/fusion-plugin-reports/bundled.js +35 -93
  130. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  131. package/dist/plugins/fusion-plugin-roadmap/bundled.js +35 -93
  132. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  133. package/dist/plugins/fusion-plugin-todos/bundled.js +35 -93
  134. package/dist/plugins/fusion-plugin-todos/package.json +1 -1
  135. package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +35 -93
  136. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  137. package/package.json +1 -1
  138. package/skill/fusion/SKILL.md +1 -1
  139. package/skill/fusion/references/best-practices.md +2 -2
  140. package/skill/fusion/references/cli-commands.md +0 -2
  141. package/skill/fusion/references/engine-tools.md +2 -2
  142. package/skill/fusion/references/extension-tools.md +1 -18
  143. package/skill/fusion/references/fusion-capabilities.md +1 -4
  144. package/skill/fusion/references/task-structure.md +1 -1
  145. package/skill/fusion/workflows/task-lifecycle.md +5 -9
  146. package/skill/fusion/workflows/task-management.md +1 -3
  147. package/dist/client/assets/AgentDetailView-DPoh46Ym.css +0 -1
  148. package/dist/client/assets/DocumentsView-BMYBV8DV.js +0 -1
  149. package/dist/client/assets/InsightsView-DK0EP68R.js +0 -11
  150. package/dist/client/assets/ResearchView-DDGbBXlh.js +0 -2
  151. package/dist/client/assets/SettingsModal-C7npF9nB.js +0 -21
  152. package/dist/client/assets/SettingsModal-Crai1dEI.css +0 -1
  153. package/dist/client/assets/app-BO1iuWOt.js +0 -13
  154. package/dist/client/assets/app-BRFfR55q.js +0 -5
  155. package/dist/client/assets/app-BW03hpJV.js +0 -13
  156. package/dist/client/assets/app-B_skBURN.js +0 -13
  157. package/dist/client/assets/app-C0JL4IcI.js +0 -13
  158. package/dist/client/assets/app-C5uZ_9kI.js +0 -13
  159. package/dist/client/assets/app-DxFiSzSJ.js +0 -5
  160. package/dist/client/assets/channel-Drj7VQBu.js +0 -1
  161. package/dist/client/assets/classDiagram-4FO5ZUOK-DGxwjUYU.js +0 -1
  162. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DGxwjUYU.js +0 -1
  163. package/dist/client/assets/dashboard-view-CoxDPI4m.js +0 -1
  164. package/dist/client/assets/index-26HUNwwJ.css +0 -1
  165. package/dist/client/assets/index-QU8sENvc.js +0 -2959
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion/pi-claude-cli",
3
- "version": "0.78.0-beta.3",
3
+ "version": "0.78.0-beta.4",
4
4
  "type": "module",
5
5
  "private": true,
6
6
  "main": "index.ts",
@@ -209,15 +209,13 @@ declare class Database {
209
209
  getPath(): string;
210
210
  }
211
211
 
212
- type TaskColumnSortMode = "completion-date-desc" | "task-id-desc";
213
-
214
212
  declare const WORKFLOW_STEP_NOT_RUN_REASONS: readonly ["not-configured", "tooling-unavailable", "execution-mode-skip", "repository-context-unresolved"];
215
213
  type WorkflowStepNotRunReason = (typeof WORKFLOW_STEP_NOT_RUN_REASONS)[number];
216
214
 
217
215
  declare const THINKING_LEVELS: readonly ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
218
216
  type ThinkingLevel = (typeof THINKING_LEVELS)[number];
219
- declare const COLUMNS: readonly ["triage", "todo", "in-progress", "in-review", "done", "archived"];
220
- type Column = (typeof COLUMNS)[number];
217
+ declare const COLUMNS: readonly ["triage", "todo", "in-progress", "in-review", "done"];
218
+ type Column = (typeof COLUMNS)[number] | "archived";
221
219
  type ColumnId = Column | (string & {});
222
220
  declare const TASK_PRIORITIES: readonly ["low", "normal", "high", "urgent"];
223
221
  type TaskPriority = (typeof TASK_PRIORITIES)[number];
@@ -1027,6 +1025,7 @@ interface WorkflowWorkItemTransitionPatch {
1027
1025
  nodeInstanceId?: string | null;
1028
1026
  now?: string;
1029
1027
  expectedState?: WorkflowWorkItemState;
1028
+ expectedLeaseOwner?: string | null;
1030
1029
  }
1031
1030
  interface WorkflowWorkItemDueFilter {
1032
1031
  projectId?: string;
@@ -1173,7 +1172,6 @@ interface TaskMoveLanes {
1173
1172
  readonly wip?: string;
1174
1173
  readonly review?: string;
1175
1174
  readonly complete?: string;
1176
- readonly archived?: string;
1177
1175
  readonly terminal?: readonly string[];
1178
1176
  }
1179
1177
 
@@ -1324,26 +1322,6 @@ declare class GlobalSettingsStore {
1324
1322
  private withLock;
1325
1323
  }
1326
1324
 
1327
- declare class ArchiveDatabase {
1328
- constructor(_fusionDir: string, _options?: {
1329
- inMemory?: boolean;
1330
- });
1331
- init(): void;
1332
- upsert(_entry: ArchivedTaskEntry): void;
1333
- list(): ArchivedTaskEntry[];
1334
- listPage(_limit: number, _offset: number): ArchivedTaskEntry[];
1335
- get(_id: string): ArchivedTaskEntry | undefined;
1336
- filterArchived(_ids: readonly string[]): Set<string>;
1337
- delete(_id: string): void;
1338
- get fts5Available(): boolean;
1339
- rebuildFts5Index(): boolean;
1340
- optimizeFts5(_mode?: "optimize" | "merge"): boolean;
1341
- getFtsIndexBytes(): number | null;
1342
- getArchivedRowCount(): number;
1343
- search(_query: string, _limit: number): ArchivedTaskEntry[];
1344
- close(): void;
1345
- }
1346
-
1347
1325
  type GoalStatus = "active" | "archived";
1348
1326
  interface Goal {
1349
1327
  id: string;
@@ -2063,7 +2041,7 @@ declare class AsyncMissionStore extends EventEmitter<MissionStoreEvents> {
2063
2041
  private getFeatureForStatusWrite;
2064
2042
  updateFeature(id: string, updates: Partial<MissionFeature>, options?: MissionUpdateOptions): Promise<MissionFeature>;
2065
2043
  updateFeatureStatus(featureId: string, status: FeatureStatus, options?: MissionUpdateOptions): Promise<MissionFeature>;
2066
- private archivedLanesFor;
2044
+ private historicalSentinelLanesFor;
2067
2045
  deleteFeature(id: string, force?: boolean): Promise<void>;
2068
2046
  reconcileFeatureDoneWithTerminalTask(featureId: string, taskId: string): Promise<MissionFeature>;
2069
2047
  claimDefinedFeatureTaskInTransaction(tx: DbTransaction, input: {
@@ -2082,7 +2060,7 @@ declare class AsyncMissionStore extends EventEmitter<MissionStoreEvents> {
2082
2060
  missionId: string;
2083
2061
  sliceId: string;
2084
2062
  }): Promise<MissionFeature>;
2085
- archiveDefinedFeatureBootstrapDuplicate(input: {
2063
+ deleteDefinedFeatureBootstrapDuplicate(input: {
2086
2064
  featureId: string;
2087
2065
  taskId: string;
2088
2066
  duplicateTaskId: string;
@@ -4248,28 +4226,6 @@ interface ImportTranslationCacheKey {
4248
4226
  sourceHash: string;
4249
4227
  }
4250
4228
 
4251
- interface RunCommandResult {
4252
- stdout: string;
4253
- stderr: string;
4254
- exitCode: number | null;
4255
- signal: NodeJS.Signals | null;
4256
- bufferExceeded: boolean;
4257
- timedOut: boolean;
4258
- spawnError?: Error;
4259
- }
4260
-
4261
- type ArchiveAllDoneSkipReason = "open-lineage-children" | "blocked-by-unarchived-batch-member" | "archive-failed";
4262
- interface ArchiveAllDoneSkip {
4263
- id: string;
4264
- reason: ArchiveAllDoneSkipReason;
4265
- blockers: string[];
4266
- message: string;
4267
- }
4268
- interface ArchiveAllDoneResult {
4269
- archived: Task[];
4270
- skipped: ArchiveAllDoneSkip[];
4271
- }
4272
-
4273
4229
  type TaskOriginWorkflowKind = "task-create" | "refinement";
4274
4230
 
4275
4231
  type PlanningDependencyInvalidation = {
@@ -4434,6 +4390,62 @@ interface DeleteTaskIfResult {
4434
4390
  deleted: boolean;
4435
4391
  }
4436
4392
 
4393
+ interface MutateScriptInput {
4394
+ originalName?: string;
4395
+ name: string;
4396
+ command?: string;
4397
+ description?: string;
4398
+ delete?: boolean;
4399
+ }
4400
+ interface ScriptCatalogEntry {
4401
+ name: string;
4402
+ command: string;
4403
+ description?: string;
4404
+ }
4405
+
4406
+ type TaskColumnSortMode = "completion-date-desc" | "task-id-desc";
4407
+
4408
+ interface ListTasksOptions {
4409
+ limit?: number;
4410
+ offset?: number;
4411
+ includeArchived?: boolean;
4412
+ slim?: boolean;
4413
+ column?: ColumnId;
4414
+ columns?: readonly ColumnId[];
4415
+ excludeColumns?: readonly ColumnId[];
4416
+ sort?: "created-asc" | "completion-desc" | TaskColumnSortMode;
4417
+ startupMemo?: boolean;
4418
+ includeDeleted?: boolean;
4419
+ selectionCache?: WorkflowSelectionCache;
4420
+ selectionReadTally?: WorkflowSelectionReadTally;
4421
+ }
4422
+
4423
+ type ArchivedTaskReintegrationSource = "live-column" | "cold-storage";
4424
+ type ArchivedTaskReintegrationOutcome = "moved" | "restored" | "live-won" | "failed" | "retained";
4425
+ type ArchivedTaskReintegrationRetainedReason = "user-paused" | "failure-budget" | "malformed-snapshot";
4426
+ interface ArchivedTaskReintegrationItem {
4427
+ taskId: string;
4428
+ source: ArchivedTaskReintegrationSource;
4429
+ outcome: ArchivedTaskReintegrationOutcome;
4430
+ reason?: ArchivedTaskReintegrationRetainedReason;
4431
+ }
4432
+ interface ArchivedTaskReintegrationResult {
4433
+ movedCount: number;
4434
+ restoredCount: number;
4435
+ outcomes: ArchivedTaskReintegrationItem[];
4436
+ hasMore: boolean;
4437
+ }
4438
+ interface ArchivedTaskHistoryInspection {
4439
+ liveSentinels: Task[];
4440
+ coldEntries: ArchivedTaskEntry[];
4441
+ malformedColdEntryIds: string[];
4442
+ }
4443
+
4444
+ interface SupplementTaskHistoryResult {
4445
+ outcome: "supplemented" | "no-op" | "missing" | "user-paused";
4446
+ fields: string[];
4447
+ }
4448
+
4437
4449
  type PatchnodeEntryKind = "completed" | "reverted";
4438
4450
  interface PatchnodeEntry {
4439
4451
  entryId: string;
@@ -4500,7 +4512,7 @@ interface AgentHeartbeatRun {
4500
4512
  executionPrompt?: string;
4501
4513
  heartbeatProcedureSource?: "default" | "custom" | "default-no-task-override";
4502
4514
  }
4503
- declare const AGENT_PERMISSIONS: readonly ["tasks:assign", "tasks:create", "tasks:execute", "tasks:review", "tasks:merge", "tasks:delete", "tasks:archive", "agents:create", "agents:update", "agents:delete", "agents:view", "settings:read", "settings:update", "workflows:manage", "missions:manage", "automations:manage", "messages:send", "messages:read"];
4515
+ declare const AGENT_PERMISSIONS: readonly ["tasks:assign", "tasks:create", "tasks:execute", "tasks:review", "tasks:merge", "tasks:delete", "agents:create", "agents:update", "agents:delete", "agents:view", "settings:read", "settings:update", "workflows:manage", "missions:manage", "automations:manage", "messages:send", "messages:read"];
4504
4516
  type AgentPermission = (typeof AGENT_PERMISSIONS)[number];
4505
4517
  declare const PERMANENT_AGENT_ACTION_CATEGORIES: readonly ["git_write", "file_write_delete", "command_execution", "network_api", "task_agent_mutation", "review_gate_bypass", "file_scope", "none"];
4506
4518
  type PermanentAgentActionCategory = (typeof PERMANENT_AGENT_ACTION_CATEGORIES)[number];
@@ -5081,7 +5093,6 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5081
5093
  configPath: string;
5082
5094
  _db: Database | null;
5083
5095
  activityListenersWired: boolean;
5084
- _archiveDb: ArchiveDatabase | null;
5085
5096
  readonly asyncLayer: AsyncDataLayer | null;
5086
5097
  readonly consumerId: string | null;
5087
5098
  private taskDeletedOutboxConsumer;
@@ -5168,14 +5179,15 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5168
5179
  startTaskDeletedOutboxConsumer(): Promise<void>;
5169
5180
  stopTaskDeletedOutboxConsumer(): Promise<void>;
5170
5181
  get db(): Database;
5171
- get archiveDb(): ArchiveDatabase;
5172
5182
  buildTaskIdIntegrityFallbackReport(): TaskIdIntegrityReport;
5173
5183
  detectAndCacheTaskIdIntegrityReport(): TaskIdIntegrityReport;
5174
5184
  mergeTaskIdIntegrityReports(...reports: TaskIdIntegrityReport[]): TaskIdIntegrityReport;
5175
5185
  refreshTaskIdIntegrityReport(): TaskIdIntegrityReport;
5176
5186
  getTaskIdIntegrityReport(): TaskIdIntegrityReport;
5177
5187
  reconcileDistributedTaskIdStateOnOpen(): void;
5178
- init(): Promise<void>;
5188
+ init(options?: {
5189
+ skipArchiveReintegration?: boolean;
5190
+ }): Promise<void>;
5179
5191
  pgRowToTaskRow(row: Record<string, unknown>): TaskRow;
5180
5192
  rowToTask(row: TaskRow): Task;
5181
5193
  rowToBranchGroup(row: BranchGroupRow): BranchGroup;
@@ -5224,8 +5236,6 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5224
5236
  taskIdExistsAnywhere(id: string): Promise<boolean>;
5225
5237
  assertTaskIdAvailable(id: string): Promise<void>;
5226
5238
  maybeResolveTombstonedTaskId(id: string, input: Pick<TaskCreateInput, "forceResurrect">, operation: "createTask" | "duplicateTask" | "refineTask"): Promise<void>;
5227
- isTaskArchived(id: string): boolean;
5228
- isTaskArchivedAsync(id: string): Promise<boolean>;
5229
5239
  findLiveDependents(id: string): string[];
5230
5240
  findLiveLineageChildren(id: string): Promise<string[]>;
5231
5241
  setupActivityLogListeners(): void;
@@ -5364,6 +5374,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5364
5374
  project: Partial<ProjectSettings>;
5365
5375
  }>;
5366
5376
  updateSettings(patch: Partial<Settings>, changedBy?: ConfigChangedBy): Promise<Settings>;
5377
+ mutateScript(input: MutateScriptInput): Promise<ScriptCatalogEntry[]>;
5367
5378
  updateGlobalSettings(patch: Partial<GlobalSettings>, changedBy?: ConfigChangedBy): Promise<Settings>;
5368
5379
  getGlobalSettingsStore(): GlobalSettingsStore;
5369
5380
  readConfig(): Promise<BoardConfig>;
@@ -5432,7 +5443,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5432
5443
  onTaskInserted?: (task: Task) => void;
5433
5444
  ownershipExemption?: IntakeOwnershipExemption;
5434
5445
  }): Promise<Task>;
5435
- _maybeAutoArchiveSameAgentDuplicateBackend(task: Task, input: TaskCreateInput): Promise<void>;
5446
+ _resolveSameAgentDuplicateIntakeBackend(task: Task, input: TaskCreateInput): Promise<void>;
5436
5447
  createTask(input: TaskCreateInput, options?: {
5437
5448
  onSummarize?: (description: string) => Promise<string | null>;
5438
5449
  settings?: {
@@ -5463,7 +5474,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5463
5474
  onTaskInserted?: (task: Task) => void;
5464
5475
  ownershipExemption?: IntakeOwnershipExemption;
5465
5476
  }): Promise<Task>;
5466
- _maybeAutoArchiveSameAgentDuplicate(task: Task, input: TaskCreateInput): Promise<void>;
5477
+ _resolveSameAgentDuplicateIntake(task: Task, input: TaskCreateInput): Promise<void>;
5467
5478
  invokeTaskCreatedHook(task: Task): Promise<void>;
5468
5479
  duplicateTask(id: string, options?: {
5469
5480
  workflowId?: string | null;
@@ -5528,17 +5539,26 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5528
5539
  sourceAgentId?: string | null;
5529
5540
  sourceParentTaskId?: string | null;
5530
5541
  }): Promise<Task[]>;
5531
- listTasks(options?: {
5542
+ listTasks(options?: ListTasksOptions): Promise<Task[]>;
5543
+ listCompletedTasks(options?: {
5532
5544
  limit?: number;
5533
5545
  offset?: number;
5534
- includeArchived?: boolean;
5535
5546
  slim?: boolean;
5536
- column?: ColumnId;
5537
- startupMemo?: boolean;
5538
- includeDeleted?: boolean;
5539
- selectionCache?: WorkflowSelectionCache;
5540
- selectionReadTally?: WorkflowSelectionReadTally;
5541
- }): Promise<Task[]>;
5547
+ sort?: TaskColumnSortMode;
5548
+ }): Promise<{
5549
+ tasks: Task[];
5550
+ total: number;
5551
+ hasMore: boolean;
5552
+ }>;
5553
+ inspectArchivedTaskHistory(): Promise<ArchivedTaskHistoryInspection>;
5554
+ readTaskHistoryArtifact(id: string): Promise<Task | undefined>;
5555
+ supplementTaskHistoryFromEvidence(id: string, evidence: Partial<Task>, options?: {
5556
+ dryRun?: boolean;
5557
+ }): Promise<SupplementTaskHistoryResult>;
5558
+ reconcileArchivedTasksIntoDone(options?: {
5559
+ limit?: number;
5560
+ maxFailureAttempts?: number;
5561
+ }): Promise<ArchivedTaskReintegrationResult>;
5542
5562
  getBranchProgressByTask(taskIds: readonly string[]): Promise<Map<string, Array<{
5543
5563
  branchId: string;
5544
5564
  nodeId: string;
@@ -5627,7 +5647,6 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
5627
5647
  }): Promise<void>;
5628
5648
  getTasksByAssignedAgent(agentId: string, options?: {
5629
5649
  pausedOnly?: boolean;
5630
- excludeArchived?: boolean;
5631
5650
  }): Promise<Task[]>;
5632
5651
  tryClaimCheckout(taskId: string, claim: {
5633
5652
  agentId: string;
@@ -6113,23 +6132,6 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
6113
6132
  source: "task-base-branch" | "task-branch-context" | "branch-group-integration" | "project-default" | "legacy-main";
6114
6133
  }): Promise<MergeDetails>;
6115
6134
  mergeTask(id: string): Promise<MergeResult>;
6116
- archiveAllDone(options?: {
6117
- removeLineageReferences?: boolean;
6118
- }): Promise<ArchiveAllDoneResult>;
6119
- archiveTask(id: string, optionsOrCleanup?: boolean | {
6120
- cleanup?: boolean;
6121
- removeLineageReferences?: boolean;
6122
- liveExecutionGuard?: "refuse" | "off";
6123
- }): Promise<Task>;
6124
- archiveTaskBackend(id: string, optionsOrCleanup: boolean | {
6125
- cleanup?: boolean;
6126
- removeLineageReferences?: boolean;
6127
- liveExecutionGuard?: "refuse" | "off";
6128
- }): Promise<Task>;
6129
- archiveTaskAndCleanup(id: string): Promise<Task>;
6130
- resolveUnarchiveTargetColumn(preArchiveColumn: unknown, taskId?: string): Promise<Column>;
6131
- readPreArchiveColumnFromTaskFile(dir: string): Promise<Column | undefined>;
6132
- unarchiveTask(id: string): Promise<Task>;
6133
6135
  moveToDone(task: Task, dir: string): Promise<void>;
6134
6136
  clearDoneTransientFields(task: Task): boolean;
6135
6137
  watch(): Promise<void>;
@@ -6200,7 +6202,6 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
6200
6202
  }): Promise<TaskDocumentWithTask[]>;
6201
6203
  getTaskDocument(taskId: string, key: string): Promise<TaskDocument | null>;
6202
6204
  upsertTaskDocument(taskId: string, input: TaskDocumentCreateInput): Promise<TaskDocument>;
6203
- publishArchivedTaskDocumentAddition(taskId: string, input: ArchivedTaskDocumentAdditionInput): Promise<ArchivedTaskDocumentAdditionResult>;
6204
6205
  getTaskDocumentRevisions(taskId: string, key: string, options?: {
6205
6206
  limit?: number;
6206
6207
  }): Promise<TaskDocumentRevision[]>;
@@ -6239,23 +6240,11 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
6239
6240
  migrateMovedSettingsToWorkflowValuesOnce(): Promise<void>;
6240
6241
  readRawProjectSettings(): Promise<Record<string, unknown>>;
6241
6242
  invalidateConfigCacheAfterMigration(): void;
6242
- readArchiveLog(): Promise<ArchivedTaskEntry[]>;
6243
- listArchivedTasks(options?: {
6244
- limit?: number;
6245
- offset?: number;
6246
- slim?: boolean;
6247
- sort?: TaskColumnSortMode;
6248
- sortMode?: TaskColumnSortMode;
6249
- }): Promise<{
6250
- tasks: Task[];
6251
- total: number;
6252
- hasMore: boolean;
6253
- }>;
6254
- findInArchive(id: string): Promise<ArchivedTaskEntry | undefined>;
6255
- migrateLegacyArchiveEntriesToArchiveDb(): void;
6256
- migrateActiveArchivedTasksToArchiveDb(): Promise<void>;
6257
- cleanupArchivedTasks(): Promise<string[]>;
6258
- restoreFromArchive(entry: ArchivedTaskEntry): Promise<Task>;
6243
+ restoreFromArchive(entry: ArchivedTaskEntry, options?: {
6244
+ targetColumn?: string;
6245
+ now?: string;
6246
+ authoritativeTask?: Task;
6247
+ }): Promise<Task>;
6259
6248
  generatePromptFromArchiveEntry(entry: ArchivedTaskEntry): string;
6260
6249
  createWorkflowStep(input: WorkflowStepInput): Promise<WorkflowStep>;
6261
6250
  setPluginWorkflowStepTemplates(templates: Array<{
@@ -6364,14 +6353,9 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
6364
6353
  clearTaskWorkflowSelection(taskId: string): Promise<void>;
6365
6354
  close(): Promise<void>;
6366
6355
  get fts5Available(): boolean;
6367
- get archiveFts5Available(): boolean;
6368
6356
  optimizeFts5(mode?: "optimize" | "merge"): boolean;
6369
- optimizeArchiveFts5(mode?: "optimize" | "merge"): boolean;
6370
6357
  getFtsIndexBytes(): number | null;
6371
- getArchiveFtsIndexBytes(): number | null;
6372
6358
  getTaskRowCount(): number;
6373
- getArchivedRowCount(): number;
6374
- rebuildArchiveFts5Index(): boolean;
6375
6359
  walCheckpoint(mode?: "PASSIVE" | "TRUNCATE"): {
6376
6360
  busy: number;
6377
6361
  log: number;
@@ -7369,20 +7353,6 @@ interface TaskDocumentCreateInput {
7369
7353
  expectedRevision?: number;
7370
7354
  expectedContentHash?: string;
7371
7355
  }
7372
- interface ArchivedTaskDocumentAdditionInput {
7373
- key: string;
7374
- appendContent: string;
7375
- expectedRevision: number;
7376
- expectedContentHash: string;
7377
- author: string;
7378
- reason: string;
7379
- }
7380
- interface ArchivedTaskDocumentAdditionResult {
7381
- document: TaskDocument;
7382
- previousRevision: number;
7383
- previousContentHash: string;
7384
- appendedContentHash: string;
7385
- }
7386
7356
  interface TaskDocumentWithTask extends TaskDocument {
7387
7357
  taskTitle?: string;
7388
7358
  taskDescription?: string;
@@ -8377,6 +8347,7 @@ interface GlobalSettings {
8377
8347
  dismissModalsOnOutsideClick?: boolean;
8378
8348
  skipConfirmationDialogs?: boolean;
8379
8349
  quickAddSubmitOnEnter?: boolean;
8350
+ chatSubmitOnEnter?: "auto" | "always" | "never";
8380
8351
  chatSnippets?: ChatSnippet[];
8381
8352
  language?: Locale;
8382
8353
  defaultProvider?: string;
@@ -8820,12 +8791,7 @@ interface ProjectSettings {
8820
8791
  preserveProgressOnStuckRequeue?: boolean;
8821
8792
  maxPostReviewFixes?: number;
8822
8793
  maintenanceIntervalMs?: number;
8823
- autoArchiveDoneTasksEnabled?: boolean;
8824
- autoArchiveDoneAfterMs?: number;
8825
- doneAutoArchiveDays?: number;
8826
- autoArchiveDuplicateTasksEnabled?: boolean;
8827
8794
  triageDuplicateResolution?: "prompt" | "keep" | "delete";
8828
- archiveAgentLogMode?: ArchiveAgentLogMode;
8829
8795
  autoUpdatePrStatus?: boolean;
8830
8796
  githubCommentOnDone?: boolean;
8831
8797
  githubCommentTemplate?: string;
@@ -8899,6 +8865,9 @@ interface ProjectSettings {
8899
8865
  prTitlePromptInstructions?: string;
8900
8866
  prDescriptionPromptInstructions?: string;
8901
8867
  scripts?: Record<string, string>;
8868
+ scriptMetadata?: Record<string, {
8869
+ description?: string;
8870
+ }>;
8902
8871
  setupScript?: string;
8903
8872
  insightExtractionEnabled?: boolean;
8904
8873
  insightExtractionSchedule?: string;
@@ -9601,6 +9570,16 @@ interface AgentPromptsConfig {
9601
9570
 
9602
9571
  type TaskOutputLanguage = "english" | "input" | "interface";
9603
9572
 
9573
+ interface RunCommandResult {
9574
+ stdout: string;
9575
+ stderr: string;
9576
+ exitCode: number | null;
9577
+ signal: NodeJS.Signals | null;
9578
+ bufferExceeded: boolean;
9579
+ timedOut: boolean;
9580
+ spawnError?: Error;
9581
+ }
9582
+
9604
9583
  interface BoardActionTaskStore {
9605
9584
  moveTask(id: string, column: ColumnId, options?: {
9606
9585
  preserveProgress?: boolean;