@runfusion/fusion 0.56.0 → 0.57.0
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.
- package/dist/bin.js +5871 -4484
- package/dist/client/.vite/manifest.json +242 -242
- package/dist/client/assets/AgentDetailView-DexqYfz4.js +18 -0
- package/dist/client/assets/{AgentPermissionPolicyEditor-CqlLF0pf.js → AgentPermissionPolicyEditor-B65iWSFw.js} +2 -2
- package/dist/client/assets/AgentsView-DWBHXG4w.js +24 -0
- package/dist/client/assets/ChatView-BaGockES.js +6 -0
- package/dist/client/assets/{CommandCenter-BhIfVVjz.js → CommandCenter-DNSpf5Nq.js} +2 -2
- package/dist/client/assets/{DevServerView-Bd86MWUa.js → DevServerView-T7YAMRMr.js} +1 -1
- package/dist/client/assets/{DirectoryPicker-BDe9G84f.js → DirectoryPicker-p_bMALI6.js} +1 -1
- package/dist/client/assets/{DocumentsView-BkAHMt19.js → DocumentsView-CSZ1_bEk.js} +1 -1
- package/dist/client/assets/{EvalsView-BxxCVaJ8.js → EvalsView-C03NFn9p.js} +1 -1
- package/dist/client/assets/{ExperimentalAgentOnboardingModal-7-BD6W1v.js → ExperimentalAgentOnboardingModal-DaYU4VlV.js} +1 -1
- package/dist/client/assets/{GoalsView-B3KICwNu.js → GoalsView-CwXL_l6r.js} +1 -1
- package/dist/client/assets/{InsightsView-DO8qefU1.js → InsightsView-D-pumdKK.js} +2 -2
- package/dist/client/assets/{MemoryView-urkPdqTn.js → MemoryView--frKZACq.js} +1 -1
- package/dist/client/assets/{PiExtensionsManager-BwVKjJIo.js → PiExtensionsManager-HTYWFcsw.js} +2 -2
- package/dist/client/assets/PluginManager-47FXVbWv.js +1 -0
- package/dist/client/assets/{PluginManager-DSiHizRD.css → PluginManager-Bm9FXhxQ.css} +1 -1
- package/dist/client/assets/{PullRequestView-B4q4X5WV.js → PullRequestView-jqo0u_qP.js} +1 -1
- package/dist/client/assets/{ResearchView-DlW6z3sm.js → ResearchView-lUFw0eBY.js} +1 -1
- package/dist/client/assets/{SecretsView-C-3eC0KB.js → SecretsView-DZ1NCe-c.js} +1 -1
- package/dist/client/assets/SessionTerminal-B10eN86g.js +2 -0
- package/dist/client/assets/SettingsModal-BIIWHPyY.js +21 -0
- package/dist/client/assets/SettingsModal-BqIOpGm9.css +1 -0
- package/dist/client/assets/{SettingsModal-BzXctrhu.js → SettingsModal-C3PIQwOw.js} +1 -1
- package/dist/client/assets/SettingsModal-D-z02qbd.css +1 -0
- package/dist/client/assets/{SetupWizardModal-DDJ8PCkH.js → SetupWizardModal-BtCAK9gq.js} +2 -2
- package/dist/client/assets/{ShadcnColorPicker-BcD5fZ_P.js → ShadcnColorPicker-CgbOh2Vh.js} +1 -1
- package/dist/client/assets/{SkillsView-DojlvxFh.js → SkillsView-xknpWJDp.js} +1 -1
- package/dist/client/assets/{TodoView-BKZ07WxZ.js → TodoView-BOIUCi-b.js} +2 -2
- package/dist/client/assets/{WorkflowNodeEditor-BJNbi4_V.js → WorkflowNodeEditor-BoGuTbgL.js} +3 -3
- package/dist/client/assets/{agentSkills-NbIIJy87.js → agentSkills-HBp0qQK2.js} +1 -1
- package/dist/client/assets/app-CC21pBBX.js +13 -0
- package/dist/client/assets/app-D5aQhT6F.js +13 -0
- package/dist/client/assets/app-DRTCMx1I.js +13 -0
- package/dist/client/assets/{app-CEtD1B9K.js → app-gWIFDNxJ.js} +2 -2
- package/dist/client/assets/app-pKygaS_p.js +13 -0
- package/dist/client/assets/app-usRdP6KP.js +13 -0
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-CJu9RVXs.js → architectureDiagram-3BPJPVTR-DFSc_ojZ.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-crZsLLTq.js → blockDiagram-GPEHLZMM-BeWCvgkB.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-D5mmJKvW.js → c4Diagram-AAUBKEIU-53kLf9YA.js} +1 -1
- package/dist/client/assets/channel-DqmRVQcu.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-BZIDltTX.js → chunk-2J33WTMH-oiPMiLQk.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-ND_SzhUa.js → chunk-4BX2VUAB-DtEYW63S.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-C3n-Nisk.js → chunk-55IACEB6-CRyY-eBJ.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-DfiPA7wv.js → chunk-727SXJPM-DpPz5T23.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-CDE0u57Z.js → chunk-AQP2D5EJ-DsvlwOK0.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-COR53PTE.js → chunk-FMBD7UC4-B4PI9bUA.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-CbcTdl7C.js → chunk-ND2GUHAM-CNvgVhAJ.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-DiB3PReK.js → chunk-QZHKN3VN-PzmFXGK3.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BkGcNuxB.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BkGcNuxB.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-Dg3YVyLX.js → cose-bilkent-S5V4N54A-B2hi4baG.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-D2bK3gNb.js → dagre-BM42HDAG-CtfJbsAQ.js} +1 -1
- package/dist/client/assets/{dashboard-view-BcbTWSCe.js → dashboard-view-DmxFuwxK.js} +1 -1
- package/dist/client/assets/{dashboard-view-t2UfQxck.js → dashboard-view-Y7yFASOR.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-BWT8KaEl.js → diagram-2AECGRRQ-CCNdu-lI.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-DWfJlASD.js → diagram-5GNKFQAL-CRFRDKo6.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-DE3hFbLT.js → diagram-KO2AKTUF-qzA8EYKe.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-CYCFeD4B.js → diagram-LMA3HP47-BcVh_7JQ.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-C0C8lEGv.js → diagram-OG6HWLK6-ti62bhwU.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-kSo7RjKA.js → erDiagram-TEJ5UH35-R-0m-loG.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-DxRf1SVH.js → flowDiagram-I6XJVG4X-DmchEhZJ.js} +1 -1
- package/dist/client/assets/{folder-open-DO1rnCxq.js → folder-open-BnJacMSp.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-CGtxSeWq.js → ganttDiagram-6RSMTGT7-CRZY8cRF.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-BNZv_DFY.js → gitGraphDiagram-PVQCEYII-DJ6KnPoF.js} +1 -1
- package/dist/client/assets/index-BxaBW271.css +1 -0
- package/dist/client/assets/index-C-IxdGPX.js +2526 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-DailohMo.js → infoDiagram-5YYISTIA-BEXH-GHB.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-Cy3shDZP.js → ishikawaDiagram-YF4QCWOH-CVuF17Yd.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-B1rU18Qx.js → journeyDiagram-JHISSGLW-CCcBBtY4.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-CRNUDgkO.js → kanban-definition-UN3LZRKU-B5bqvapW.js} +1 -1
- package/dist/client/assets/{mermaid.core-Cg0po76i.js → mermaid.core-DfKOBw3p.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-CEjwlhOe.js → mindmap-definition-RKZ34NQL-D6YDtYgW.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-70T-php2.js → pieDiagram-4H26LBE5-BokP1BTt.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-ChcpRG7l.js → quadrantDiagram-W4KKPZXB-B9NJMDnf.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-9Pzb_Cot.js → requirementDiagram-4Y6WPE33-CkVaSHtt.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-Bx6DkeKq.js → sankeyDiagram-5OEKKPKP-BoU2JDPH.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-emWPkPv7.js → sequenceDiagram-3UESZ5HK-Damqlxg5.js} +1 -1
- package/dist/client/assets/{shield-alert-BdAjnDkU.js → shield-alert-BTMxVnOy.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-B_X2-VQy.js → stateDiagram-AJRCARHV-BC72nvu_.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-DvQssSEq.js → stateDiagram-v2-BHNVJYJU-BSoMYClQ.js} +1 -1
- package/dist/client/assets/{timeline-definition-PNZ67QCA-CkyhunuI.js → timeline-definition-PNZ67QCA-DxHz0a6F.js} +1 -1
- package/dist/client/assets/{upload-D9-yuO2D.js → upload-1isayrJo.js} +1 -1
- package/dist/client/assets/{users-B4aebngl.js → users-C3jhPg5Q.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-8OGD6Vb7.js → vennDiagram-CIIHVFJN-B3nVtXfZ.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-MnRFGNPm.js → wardley-L42UT6IY-D-hb-Ks4.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BAEzb08c.js → wardleyDiagram-YWT4CUSO-DVqAvZPQ.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-DUxideKC.js → xychartDiagram-2RQKCTM6-0RALveCq.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/version.json +1 -1
- package/dist/droid-cli/package.json +1 -1
- package/dist/extension.js +2794 -1195
- package/dist/pi-claude-cli/package.json +1 -1
- package/dist/plugin-sdk/index.d.ts +35 -0
- package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
- package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
- package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
- package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +21 -8
- package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
- package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-reports/package.json +1 -1
- package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
- package/package.json +1 -1
- package/skill/fusion/references/extension-tools.md +4 -2
- package/skill/fusion/references/fusion-capabilities.md +2 -2
- package/dist/client/assets/AgentDetailView-BPzzEIn1.js +0 -18
- package/dist/client/assets/AgentsView-C4uCWzdt.js +0 -24
- package/dist/client/assets/ChatView-BGV9F2K0.js +0 -6
- package/dist/client/assets/PluginManager-C-OuqDLa.js +0 -1
- package/dist/client/assets/SessionTerminal-DVfyVeS2.js +0 -2
- package/dist/client/assets/SettingsModal-BC_2Y56_.css +0 -1
- package/dist/client/assets/SettingsModal-CaE4JYxi.css +0 -1
- package/dist/client/assets/SettingsModal-qs8w3rov.js +0 -21
- package/dist/client/assets/app-0jcSCRQr.js +0 -13
- package/dist/client/assets/app-BPzPEE6G.js +0 -13
- package/dist/client/assets/app-BSZU5Uns.js +0 -13
- package/dist/client/assets/app-CVyRSEUX.js +0 -13
- package/dist/client/assets/app-DoLz_4Dg.js +0 -13
- package/dist/client/assets/channel-Zfk0yRN2.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BehQ-wnv.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BehQ-wnv.js +0 -1
- package/dist/client/assets/index-BCf32Sgx.css +0 -1
- package/dist/client/assets/index-D7eX7QJk.js +0 -2511
|
@@ -987,6 +987,10 @@ declare class MissionStore extends EventEmitter<MissionStoreEvents> {
|
|
|
987
987
|
createGeneratedFixFeature(sourceFeatureId: string, runId: string, failedAssertionIds: string[], failureReason?: string, title?: string): MissionFeature;
|
|
988
988
|
findGeneratedFixFeature(sourceFeatureId: string, runId: string): MissionFeature | undefined;
|
|
989
989
|
findOpenGeneratedFixFeature(sourceFeatureId: string): MissionFeature | undefined;
|
|
990
|
+
reconcileSupersededGeneratedFixFeatures(sliceId: string): {
|
|
991
|
+
supersededCount: number;
|
|
992
|
+
featureIds: string[];
|
|
993
|
+
};
|
|
990
994
|
getFeatureLoopSnapshot(featureId: string): MissionFeatureLoopSnapshot;
|
|
991
995
|
transitionLoopState(featureId: string, newState: FeatureLoopState): MissionFeature;
|
|
992
996
|
addContractAssertion(milestoneId: string, input: ContractAssertionCreateInput): MissionContractAssertion;
|
|
@@ -2844,6 +2848,15 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
|
|
|
2844
2848
|
column?: ColumnId;
|
|
2845
2849
|
startupMemo?: boolean;
|
|
2846
2850
|
}): Promise<Task[]>;
|
|
2851
|
+
listArchivedTasks(options?: {
|
|
2852
|
+
limit?: number;
|
|
2853
|
+
offset?: number;
|
|
2854
|
+
slim?: boolean;
|
|
2855
|
+
}): Promise<{
|
|
2856
|
+
tasks: Task[];
|
|
2857
|
+
total: number;
|
|
2858
|
+
hasMore: boolean;
|
|
2859
|
+
}>;
|
|
2847
2860
|
getBranchProgressByTask(taskIds: readonly string[]): Map<string, Array<{
|
|
2848
2861
|
branchId: string;
|
|
2849
2862
|
nodeId: string;
|
|
@@ -3050,6 +3063,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
|
|
|
3050
3063
|
missionId?: string | null;
|
|
3051
3064
|
sliceId?: string | null;
|
|
3052
3065
|
}, runContext?: RunMutationContext): Promise<Task>;
|
|
3066
|
+
private isTaskTerminalNodeId;
|
|
3053
3067
|
updateTaskAtomic(id: string, updater: (current: Task) => Parameters<TaskStore["updateTask"]>[1] | null | undefined | Promise<Parameters<TaskStore["updateTask"]>[1] | null | undefined>, runContext?: RunMutationContext): Promise<Task>;
|
|
3054
3068
|
private mergeCustomFieldPatch;
|
|
3055
3069
|
updateTaskCustomFields(taskId: string, patch: Record<string, unknown>, runContext?: RunMutationContext): Promise<{
|
|
@@ -3069,6 +3083,10 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
|
|
|
3069
3083
|
getWorkflowPromptOverrides(workflowId: string, projectId: string): Record<string, string>;
|
|
3070
3084
|
updateWorkflowPromptOverrides(workflowId: string, projectId: string, patch: Record<string, string | null | undefined>): Record<string, string>;
|
|
3071
3085
|
updateWorkflowSettingValues(workflowId: string, projectId: string, patch: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
3086
|
+
updateWorkflowSettingValuesWithPrevious(workflowId: string, projectId: string, patch: Record<string, unknown>): Promise<{
|
|
3087
|
+
previous: Record<string, unknown>;
|
|
3088
|
+
stored: Record<string, unknown>;
|
|
3089
|
+
}>;
|
|
3072
3090
|
private updateTaskUnlocked;
|
|
3073
3091
|
pauseTask(id: string, paused: boolean, runContext?: RunMutationContext, agentOptions?: {
|
|
3074
3092
|
pausedByAgentId?: string;
|
|
@@ -3328,6 +3346,21 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
|
|
|
3328
3346
|
deleteWorkflowDefinition(id: string): Promise<void>;
|
|
3329
3347
|
private workflowColumnsFlagOn;
|
|
3330
3348
|
private listWorkflowOccupantTaskIds;
|
|
3349
|
+
private static readonly MODEL_LANES;
|
|
3350
|
+
getModelLaneDrift(workflowId: string, before: Record<string, unknown>, after: Record<string, unknown>, options?: {
|
|
3351
|
+
includeNullSelection?: boolean;
|
|
3352
|
+
}): Array<{
|
|
3353
|
+
lane: string;
|
|
3354
|
+
from: {
|
|
3355
|
+
provider: string | null;
|
|
3356
|
+
modelId: string | null;
|
|
3357
|
+
};
|
|
3358
|
+
to: {
|
|
3359
|
+
provider: string | null;
|
|
3360
|
+
modelId: string | null;
|
|
3361
|
+
};
|
|
3362
|
+
taskIds: string[];
|
|
3363
|
+
}>;
|
|
3331
3364
|
private occupantsByColumnForWorkflow;
|
|
3332
3365
|
private rehomeOccupant;
|
|
3333
3366
|
runWorkflowColumnsIntegrityPass(): Promise<{
|
|
@@ -4469,6 +4502,7 @@ interface CustomProvider {
|
|
|
4469
4502
|
baseUrl: string;
|
|
4470
4503
|
apiKey?: string;
|
|
4471
4504
|
supportsDeveloperRole?: boolean;
|
|
4505
|
+
anthropicPromptCaching?: boolean;
|
|
4472
4506
|
models?: {
|
|
4473
4507
|
id: string;
|
|
4474
4508
|
name: string;
|
|
@@ -5875,6 +5909,7 @@ interface ProjectSettings {
|
|
|
5875
5909
|
autoArchiveDoneTasksEnabled?: boolean;
|
|
5876
5910
|
autoArchiveDoneAfterMs?: number;
|
|
5877
5911
|
doneAutoArchiveDays?: number;
|
|
5912
|
+
autoArchiveDuplicateTasksEnabled?: boolean;
|
|
5878
5913
|
archiveAgentLogMode?: ArchiveAgentLogMode;
|
|
5879
5914
|
autoUpdatePrStatus?: boolean;
|
|
5880
5915
|
githubCommentOnDone?: boolean;
|
|
@@ -165,16 +165,16 @@ function stripChrome(text) {
|
|
|
165
165
|
return filtered.join("\n").trim();
|
|
166
166
|
}
|
|
167
167
|
function parseHermesOutput(rawStdout, rawStderr) {
|
|
168
|
-
const
|
|
169
|
-
const
|
|
168
|
+
const cleanedStdout = cleanText(rawStdout);
|
|
169
|
+
const cleanedCombined = cleanText([rawStdout, rawStderr].filter(Boolean).join("\n"));
|
|
170
|
+
const stdoutMatch = SESSION_ID_RE.exec(cleanedStdout);
|
|
171
|
+
const match = stdoutMatch ?? SESSION_ID_RE.exec(cleanedCombined);
|
|
170
172
|
if (!match) {
|
|
171
|
-
const combined = [rawStdout, rawStderr].filter(Boolean).join("\n");
|
|
172
173
|
throw new Error(`hermes: missing session_id in output.
|
|
173
|
-
${
|
|
174
|
+
${cleanedCombined}`);
|
|
174
175
|
}
|
|
175
176
|
const sessionId = match[1];
|
|
176
|
-
const
|
|
177
|
-
const bodyRaw = sessionIdLineStart >= 0 ? cleaned.slice(0, sessionIdLineStart) : cleaned;
|
|
177
|
+
const bodyRaw = stdoutMatch ? cleanedStdout.slice(0, stdoutMatch.index) : cleanedStdout;
|
|
178
178
|
const body = stripChrome(bodyRaw);
|
|
179
179
|
return { body, sessionId };
|
|
180
180
|
}
|
|
@@ -444,10 +444,12 @@ var HermesRuntimeAdapter = class {
|
|
|
444
444
|
);
|
|
445
445
|
}
|
|
446
446
|
async createSession(options) {
|
|
447
|
+
const messages = [];
|
|
447
448
|
const session = {
|
|
448
449
|
model: void 0,
|
|
449
450
|
systemPrompt: options.systemPrompt,
|
|
450
|
-
messages
|
|
451
|
+
messages,
|
|
452
|
+
state: { messages },
|
|
451
453
|
apiKey: void 0,
|
|
452
454
|
thinkingLevel: void 0,
|
|
453
455
|
sessionId: "",
|
|
@@ -470,9 +472,20 @@ var HermesRuntimeAdapter = class {
|
|
|
470
472
|
|
|
471
473
|
User request:
|
|
472
474
|
${prompt}`;
|
|
473
|
-
const
|
|
475
|
+
const userMessage = { role: "user", content: prompt };
|
|
476
|
+
session.messages.push(userMessage);
|
|
477
|
+
let result;
|
|
478
|
+
try {
|
|
479
|
+
result = await invokeHermesCli(promptWithContext, this.settings, resumeId);
|
|
480
|
+
session.state.errorMessage = void 0;
|
|
481
|
+
} catch (err) {
|
|
482
|
+
session.messages.pop();
|
|
483
|
+
session.state.errorMessage = err instanceof Error ? err.message : String(err);
|
|
484
|
+
throw err;
|
|
485
|
+
}
|
|
474
486
|
session.sessionId = result.sessionId;
|
|
475
487
|
session.lastModelDescription = this.describeFromSettings();
|
|
488
|
+
session.messages.push({ role: "assistant", content: result.body });
|
|
476
489
|
if (result.body) {
|
|
477
490
|
session.callbacks.onText?.(result.body);
|
|
478
491
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runfusion/fusion",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.57.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Fusion CLI: HTTP API server, daemon, dashboard launcher, and task tooling for the Fusion AI coding agent.",
|
|
6
6
|
"homepage": "https://github.com/Runfusion/Fusion#readme",
|
|
@@ -104,11 +104,12 @@ Request a refinement of a completed or in-review task. Creates a new follow-up t
|
|
|
104
104
|
|
|
105
105
|
### fn_task_archive
|
|
106
106
|
|
|
107
|
-
Archive a task from any live column (move to archived). Archived tasks are preserved for historical reference but moved out of the main board view.
|
|
107
|
+
Archive a task from any live column (move to archived). Archived tasks are preserved for historical reference but moved out of the main board view. If the task is still referenced as a lineage parent by another task, archiving is rejected unless removeLineageReferences:true is passed.
|
|
108
108
|
|
|
109
109
|
| Parameter | Type | Required | Description |
|
|
110
110
|
|-----------|------|----------|-------------|
|
|
111
111
|
| `id` | string | ✓ | Task ID to archive from any live column (e.g. FN-001). |
|
|
112
|
+
| `removeLineageReferences` | boolean | — | When true, clear incoming lineage-parent references (child sourceParentTaskId) before archiving, so a task still referenced as a lineage parent can be archived. |
|
|
112
113
|
|
|
113
114
|
### fn_task_unarchive
|
|
114
115
|
|
|
@@ -120,12 +121,13 @@ Unarchive an archived task (move from archived → its restore column). Restores
|
|
|
120
121
|
|
|
121
122
|
### fn_task_delete
|
|
122
123
|
|
|
123
|
-
Soft-delete a task from active Fusion board views. The task row and artifacts are preserved; optional allowResurrection marks the ID for intentional recreation.
|
|
124
|
+
Soft-delete a task from active Fusion board views. The task row and artifacts are preserved; optional allowResurrection marks the ID for intentional recreation. If the task is still referenced as a lineage parent by another task, deletion is rejected unless removeLineageReferences:true is passed.
|
|
124
125
|
|
|
125
126
|
| Parameter | Type | Required | Description |
|
|
126
127
|
|-----------|------|----------|-------------|
|
|
127
128
|
| `id` | string | ✓ | Task ID to delete (e.g. FN-001) |
|
|
128
129
|
| `allowResurrection` | boolean | — | When true, mark this tombstone as explicitly reusable for future recreation. |
|
|
130
|
+
| `removeLineageReferences` | boolean | — | When true, clear incoming lineage-parent references (child sourceParentTaskId) before deleting, so a task still referenced as a lineage parent can be removed. |
|
|
129
131
|
|
|
130
132
|
### fn_task_browse_gitlab_project_issues
|
|
131
133
|
|
|
@@ -30,9 +30,9 @@ All skill/extension tool invocations in this catalog use the public `fn_*` names
|
|
|
30
30
|
| `fn_task_retry` | Retry a failed task — clears the error state. Non-review failures move to todo; in-review execution failures move to todo preserving progress; in-review merge failures stay in-place for auto-merge retry. |
|
|
31
31
|
| `fn_task_duplicate` | Duplicate an existing task, creating a fresh copy in planning. Copies the title and description but resets all execution state. The AI planning agent will replan the new task. |
|
|
32
32
|
| `fn_task_refine` | Request a refinement of a completed or in-review task. Creates a new follow-up task in planning that references the original task as a dependency. Use this when a done or in-review task needs additional work, improvements, or follow-up changes. |
|
|
33
|
-
| `fn_task_archive` | Archive a task from any live column (move to archived). Archived tasks are preserved for historical reference but moved out of the main board view. |
|
|
33
|
+
| `fn_task_archive` | Archive a task from any live column (move to archived). Archived tasks are preserved for historical reference but moved out of the main board view. If the task is still referenced as a lineage parent by another task, archiving is rejected unless removeLineageReferences:true is passed. |
|
|
34
34
|
| `fn_task_unarchive` | Unarchive an archived task (move from archived → its restore column). Restores to the pre-archive column when available, with active execution columns downgraded to todo. |
|
|
35
|
-
| `fn_task_delete` | Soft-delete a task from active Fusion board views. The task row and artifacts are preserved; optional allowResurrection marks the ID for intentional recreation. |
|
|
35
|
+
| `fn_task_delete` | Soft-delete a task from active Fusion board views. The task row and artifacts are preserved; optional allowResurrection marks the ID for intentional recreation. If the task is still referenced as a lineage parent by another task, deletion is rejected unless removeLineageReferences:true is passed. |
|
|
36
36
|
| `fn_task_import_github` | Import GitHub issues as Fusion tasks. Fetches open issues from a repository and creates tasks in the planning column. Each task includes the issue title and body with a link to the source issue. |
|
|
37
37
|
| `fn_task_import_github_issue` | Import a specific GitHub issue as a Fusion task. Fetches the issue by number and creates a single task in the planning column with the issue title and body. |
|
|
38
38
|
| `fn_task_browse_github_issues` | List open GitHub issues from a repository to browse before importing. Returns issue numbers, titles, and URLs for selection. Use with fn_task_import_github_issue to import specific issues by number. |
|