@runfusion/fusion 0.77.0-beta.2 → 0.77.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.
- package/dist/bin.js +12324 -8618
- package/dist/child-process-worker.js +8252 -6106
- package/dist/client/.vite/manifest.json +294 -267
- package/dist/client/assets/{AgentDetailView-Dew3af1O.js → AgentDetailView-CH6GtXl9.js} +3 -3
- package/dist/client/assets/{AgentPermissionPolicyEditor-CxPQffiY.js → AgentPermissionPolicyEditor-YTEpMhUx.js} +1 -1
- package/dist/client/assets/{AgentsView-Cr4LDGdt.js → AgentsView-XOHHDo4a.js} +4 -4
- package/dist/client/assets/ChatView-gH7QX3TI.js +13 -0
- package/dist/client/assets/{CommandCenter-DCC90LOP.js → CommandCenter-BsH-R15f.js} +3 -3
- package/dist/client/assets/{DevServerView-B5b520w6.js → DevServerView-CKOa-lkc.js} +1 -1
- package/dist/client/assets/{DirectoryPicker-1JvRd5mC.js → DirectoryPicker-DHUYTE-j.js} +1 -1
- package/dist/client/assets/DocumentsView-BPzrxeP-.js +1 -0
- package/dist/client/assets/{EvalsView-a3LhgRSo.js → EvalsView-DojCiv47.js} +1 -1
- package/dist/client/assets/{ExperimentalAgentOnboardingModal-vdVa8h7F.js → ExperimentalAgentOnboardingModal-DuurZ8qe.js} +1 -1
- package/dist/client/assets/{GoalsView-Dz2o91fd.js → GoalsView-DDWPXcG1.js} +1 -1
- package/dist/client/assets/{InsightsView-De3R_46d.js → InsightsView-CgkMOD1A.js} +3 -3
- package/dist/client/assets/MemoryView-Cj49_z7O.js +3 -0
- package/dist/client/assets/{PiExtensionsManager-C9JABO_4.js → PiExtensionsManager-B_rRJiOd.js} +1 -1
- package/dist/client/assets/PluginManager-Dxwi88oY.js +1 -0
- package/dist/client/assets/{PullRequestView-DT8vTeVi.js → PullRequestView-z-5v2hQT.js} +2 -2
- package/dist/client/assets/ReportModal-DmOPEYWp.js +21 -0
- package/dist/client/assets/ReportModal-lzN_xrnM.css +1 -0
- package/dist/client/assets/{ResearchView-cNsjYu8F.js → ResearchView-D90Jbzbx.js} +2 -2
- package/dist/client/assets/{SecretsView-BAmf7KyS.js → SecretsView-CSyjZl5L.js} +1 -1
- package/dist/client/assets/SessionTerminal-Bwb8nGmU.js +2 -0
- package/dist/client/assets/SettingsModal-BAzmMjr9.js +21 -0
- package/dist/client/assets/SettingsModal-C5ic1ls7.css +1 -0
- package/dist/client/assets/{SettingsModal-C_9RiEI7.js → SettingsModal-CJof1Ett.js} +1 -1
- package/dist/client/assets/{SettingsTextareaRow-D8RHSj8b.js → SettingsTextareaRow-BYchnHfW.js} +1 -1
- package/dist/client/assets/SetupWizardModal-NqV-erVf.js +2 -0
- package/dist/client/assets/{SkillsView-DyeCwYit.js → SkillsView-BUrkIJ-p.js} +1 -1
- package/dist/client/assets/{WorkflowNodeEditor-C5Jc9w_A.js → WorkflowNodeEditor-DcPk2A1Z.js} +1 -1
- package/dist/client/assets/{agent-import-generation-SCPNeF25.js → agent-import-generation-X16OLfrL.js} +1 -1
- package/dist/client/assets/{agentsOrgChartLayout-CqKtNCjy.js → agentsOrgChartLayout-BhPIXckU.js} +1 -1
- package/dist/client/assets/app-B-TfWH9b.js +5 -0
- package/dist/client/assets/app-B2RDV_-t.js +13 -0
- package/dist/client/assets/app-CDo0mF2S.js +5 -0
- package/dist/client/assets/app-Cc18kAQS.js +13 -0
- package/dist/client/assets/app-DFF79EUn.js +13 -0
- package/dist/client/assets/app-DSeFHxgj.js +13 -0
- package/dist/client/assets/app-Ducr0y6r.js +13 -0
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-Cz2HYn0b.js → architectureDiagram-3BPJPVTR-WArMtdqy.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-IimJVscG.js → blockDiagram-GPEHLZMM-emScogdV.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-C-xii7zn.js → c4Diagram-AAUBKEIU-CBY7-E0T.js} +1 -1
- package/dist/client/assets/channel-CP2ySYs0.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-DQ-9Xccu.js → chunk-2J33WTMH-Bcai1sOm.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-DmdAX9Bx.js → chunk-4BX2VUAB-hjiKRusj.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-IF2bk5IL.js → chunk-55IACEB6-DpO9nIb0.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-AeYpIzVu.js → chunk-727SXJPM-B9JanA0o.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-DV942DD9.js → chunk-AQP2D5EJ-D6zdnEUE.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-Bt_riVlZ.js → chunk-FMBD7UC4-CRkrJ51d.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-CbyjNbXR.js → chunk-ND2GUHAM-BLQsKt7a.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-DqiRniYQ.js → chunk-QZHKN3VN-MCOlJ723.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-DKkOBtzM.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DKkOBtzM.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-UCvthviL.js → cose-bilkent-S5V4N54A-Cv1XmKKG.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-DnMlT1Oi.js → dagre-BM42HDAG-flnNS_RW.js} +1 -1
- package/dist/client/assets/{dashboard-view-C9D0aoRW.js → dashboard-view-CC1aH-lp.js} +1 -1
- package/dist/client/assets/{dashboard-view-myjM9tr8.js → dashboard-view-CrV-rL9Q.js} +1 -1
- package/dist/client/assets/{dashboard-view-JysoyDRX.js → dashboard-view-DEAYb_TZ.js} +1 -1
- package/dist/client/assets/{dashboard-view-Cz0sp2Wl.js → dashboard-view-Dz7kqcJc.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-BYFiqXGw.js → diagram-2AECGRRQ-Z3S7b_6_.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-DZU3pSYq.js → diagram-5GNKFQAL-BAZHdMFq.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-0ybdKuMm.js → diagram-KO2AKTUF-C2y3S8F0.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-Rxbgnbsp.js → diagram-LMA3HP47-Bfz0_IvT.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-BAU_hTeV.js → diagram-OG6HWLK6-BBmSQsTI.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-zr8HrwTt.js → erDiagram-TEJ5UH35-DnpdQi66.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-CrTw0iFw.js → flowDiagram-I6XJVG4X-IybTR_zf.js} +1 -1
- package/dist/client/assets/{folder-open-DnAlsXXn.js → folder-open-Dntm63x4.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-CCORsxxz.js → ganttDiagram-6RSMTGT7-DEQOe2E9.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-C07wWSjj.js → gitGraphDiagram-PVQCEYII-BOKc-h63.js} +1 -1
- package/dist/client/assets/index-DXpztECA.css +1 -0
- package/dist/client/assets/index-I32FijPT.js +2821 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-hAeccD_4.js → infoDiagram-5YYISTIA-LqaYIdbj.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-WLCzv-NH.js → ishikawaDiagram-YF4QCWOH-a8qd512s.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-ClnasNhy.js → journeyDiagram-JHISSGLW-BgoNyeiy.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-CAuARhUz.js → kanban-definition-UN3LZRKU-Bqwow7D3.js} +1 -1
- package/dist/client/assets/{mermaid.core-Bh02RvfX.js → mermaid.core-B2zD934i.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-KNTlbW4V.js → mindmap-definition-RKZ34NQL-CCTOigWu.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-BouAfBEw.js → pieDiagram-4H26LBE5-Bq5DtXKR.js} +1 -1
- package/dist/client/assets/pixelify-sans-cyrillic-400-normal-DfOZNMlW.woff +0 -0
- package/dist/client/assets/pixelify-sans-latin-400-normal-DLrIX9QE.woff2 +0 -0
- package/dist/client/assets/pixelify-sans-latin-400-normal-JapMNN6Z.woff +0 -0
- package/dist/client/assets/pixelify-sans-latin-ext-400-normal-BkfTUL4s.woff +0 -0
- package/dist/client/assets/pixelify-sans-latin-ext-400-normal-DdH6zlBQ.woff2 +0 -0
- package/dist/client/assets/{puzzle-CC8Ur3Cy.js → puzzle-VhTPiCit.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-wTdkCUJU.js → quadrantDiagram-W4KKPZXB-CGMP3nUx.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-BnjY4Tc_.js → requirementDiagram-4Y6WPE33-Ckeu_szu.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-C-QsS08u.js → sankeyDiagram-5OEKKPKP-SWbBDD4d.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-DD36MILE.js → sequenceDiagram-3UESZ5HK-CiJrmL_G.js} +1 -1
- package/dist/client/assets/{shield-alert-DcXc56Fy.js → shield-alert-BBDlP6A5.js} +1 -1
- package/dist/client/assets/{standing-instructions-template-BF5y1BLz.js → standing-instructions-template-viu_kgDX.js} +2 -2
- package/dist/client/assets/{stateDiagram-AJRCARHV-WTq1wQr1.js → stateDiagram-AJRCARHV-DTCzK5Gt.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-eILJdjII.js → stateDiagram-v2-BHNVJYJU-BIGAwFTT.js} +1 -1
- package/dist/client/assets/{timeline-definition-PNZ67QCA-PRNwI0NR.js → timeline-definition-PNZ67QCA-BQZEFEug.js} +1 -1
- package/dist/client/assets/{upload-qH_64O-B.js → upload-D5w3Ehwp.js} +1 -1
- package/dist/client/assets/{useDiscoveredSkillsCache-C-GPCNaO.js → useDiscoveredSkillsCache-D6zMSIaS.js} +1 -1
- package/dist/client/assets/{users-D2UesRE4.js → users-Bohihi_o.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-CG2Z4T4O.js → vennDiagram-CIIHVFJN-DnHguEv8.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-gO_fGvF9.js → wardley-L42UT6IY-BOqYltGN.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BkyNpjUb.js → wardleyDiagram-YWT4CUSO-Re0Ery2M.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-CMlZsiPq.js → xychartDiagram-2RQKCTM6-CnVq21b2.js} +1 -1
- package/dist/client/index.html +4 -4
- package/dist/client/theme-data.css +183 -1
- package/dist/client/version.json +1 -1
- package/dist/droid-cli/package.json +1 -1
- package/dist/extension.js +9275 -6726
- package/dist/pi-claude-cli/package.json +1 -1
- package/dist/pi-claude-cli/src/__tests__/event-bridge.test.ts +29 -1
- package/dist/pi-claude-cli/src/event-bridge.ts +10 -4
- package/dist/plugin-sdk/index.d.ts +25 -3
- package/dist/plugin-sdk/index.js +10 -1
- package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +12 -2
- package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +12 -2
- package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
- package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
- package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
- package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +12 -2
- package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +12 -2
- package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-linear-import/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
- package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +12 -2
- package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-quality/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-quality/package.json +1 -1
- package/dist/plugins/fusion-plugin-reports/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-reports/package.json +1 -1
- package/dist/plugins/fusion-plugin-roadmap/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
- package/dist/plugins/fusion-plugin-todos/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-todos/package.json +1 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +10 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
- package/package.json +1 -1
- package/skill/fusion/SKILL.md +1 -1
- package/skill/fusion/references/extension-tools.md +17 -0
- package/skill/fusion/references/fusion-capabilities.md +2 -0
- package/dist/client/assets/ChatView-cNYtYx05.js +0 -13
- package/dist/client/assets/DocumentsView-ksK9f7xt.js +0 -1
- package/dist/client/assets/MemoryView-Cagk2wZG.js +0 -3
- package/dist/client/assets/PluginManager-D2csmdQa.js +0 -1
- package/dist/client/assets/ReportModal-M3uh98sc.css +0 -1
- package/dist/client/assets/ReportModal-YMP6V4vu.js +0 -21
- package/dist/client/assets/SessionTerminal-BjGcxq22.js +0 -2
- package/dist/client/assets/SettingsModal-C0FY8MPW.css +0 -1
- package/dist/client/assets/SettingsModal-DLfy2e_5.js +0 -21
- package/dist/client/assets/SetupWizardModal-DRJ96pHQ.js +0 -2
- package/dist/client/assets/app-BgpuMvTU.js +0 -13
- package/dist/client/assets/app-BlexHhbW.js +0 -13
- package/dist/client/assets/app-BsuUOR0P.js +0 -13
- package/dist/client/assets/app-DQVOujmO.js +0 -13
- package/dist/client/assets/app-DjyTRx1N.js +0 -5
- package/dist/client/assets/app-Dniggype.js +0 -13
- package/dist/client/assets/app-EV-lyZ0T.js +0 -5
- package/dist/client/assets/channel-D-UHgx8G.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-Do-8MdAc.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Do-8MdAc.js +0 -1
- package/dist/client/assets/index-B_z7OKl4.js +0 -2818
- package/dist/client/assets/index-DPo-IAb2.css +0 -1
|
@@ -8742,7 +8742,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8742
8742
|
import { EventEmitter } from "node:events";
|
|
8743
8743
|
|
|
8744
8744
|
// ../core/src/types/board/board.ts
|
|
8745
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8745
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8746
8746
|
|
|
8747
8747
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8748
8748
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9180,6 +9180,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9180
9180
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9181
9181
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9182
9182
|
maxRecommendationsPerTask: 3,
|
|
9183
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9184
|
+
requireTaskRecommendations: false,
|
|
9183
9185
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9184
9186
|
recommendationMailboxNoticeEnabled: true,
|
|
9185
9187
|
globalPause: false,
|
|
@@ -9291,6 +9293,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9291
9293
|
*/
|
|
9292
9294
|
showCostBadgeOnCards: false,
|
|
9293
9295
|
/*
|
|
9296
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9297
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9298
|
+
*/
|
|
9299
|
+
chatMessageLayout: "bubbles",
|
|
9300
|
+
/*
|
|
9294
9301
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9295
9302
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9296
9303
|
*/
|
|
@@ -9499,6 +9506,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9499
9506
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9500
9507
|
*/
|
|
9501
9508
|
taskDefinitionInInputLanguage: false,
|
|
9509
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9510
|
+
taskOutputLanguage: void 0,
|
|
9502
9511
|
useAiMergeCommitSummary: true,
|
|
9503
9512
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9504
9513
|
titleSummarizerProvider: void 0,
|
|
@@ -36960,7 +36969,8 @@ function normalizeStreamingDelta(previousText, nextDelta) {
|
|
|
36960
36969
|
const previousChar = previousText.slice(-1);
|
|
36961
36970
|
const nextChar = nextDelta[0] ?? "";
|
|
36962
36971
|
if (/\s/.test(previousChar) || /\s/.test(nextChar)) return nextDelta;
|
|
36963
|
-
|
|
36972
|
+
const isNumericTokenContinuation = previousChar === "." && /\d/.test(previousText.slice(-2, -1)) && /\d/.test(nextChar);
|
|
36973
|
+
if (!isNumericTokenContinuation && /[.!?]/.test(previousChar) && /[A-Z0-9"'([]/.test(nextChar)) {
|
|
36964
36974
|
return ` ${nextDelta}`;
|
|
36965
36975
|
}
|
|
36966
36976
|
return nextDelta;
|
|
@@ -8745,7 +8745,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8745
8745
|
import { EventEmitter } from "node:events";
|
|
8746
8746
|
|
|
8747
8747
|
// ../core/src/types/board/board.ts
|
|
8748
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8748
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8749
8749
|
|
|
8750
8750
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8751
8751
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9183,6 +9183,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9183
9183
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9184
9184
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9185
9185
|
maxRecommendationsPerTask: 3,
|
|
9186
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9187
|
+
requireTaskRecommendations: false,
|
|
9186
9188
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9187
9189
|
recommendationMailboxNoticeEnabled: true,
|
|
9188
9190
|
globalPause: false,
|
|
@@ -9294,6 +9296,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9294
9296
|
*/
|
|
9295
9297
|
showCostBadgeOnCards: false,
|
|
9296
9298
|
/*
|
|
9299
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9300
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9301
|
+
*/
|
|
9302
|
+
chatMessageLayout: "bubbles",
|
|
9303
|
+
/*
|
|
9297
9304
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9298
9305
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9299
9306
|
*/
|
|
@@ -9502,6 +9509,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9502
9509
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9503
9510
|
*/
|
|
9504
9511
|
taskDefinitionInInputLanguage: false,
|
|
9512
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9513
|
+
taskOutputLanguage: void 0,
|
|
9505
9514
|
useAiMergeCommitSummary: true,
|
|
9506
9515
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9507
9516
|
titleSummarizerProvider: void 0,
|
|
@@ -8742,7 +8742,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8742
8742
|
import { EventEmitter } from "node:events";
|
|
8743
8743
|
|
|
8744
8744
|
// ../core/src/types/board/board.ts
|
|
8745
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8745
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8746
8746
|
|
|
8747
8747
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8748
8748
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9180,6 +9180,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9180
9180
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9181
9181
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9182
9182
|
maxRecommendationsPerTask: 3,
|
|
9183
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9184
|
+
requireTaskRecommendations: false,
|
|
9183
9185
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9184
9186
|
recommendationMailboxNoticeEnabled: true,
|
|
9185
9187
|
globalPause: false,
|
|
@@ -9291,6 +9293,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9291
9293
|
*/
|
|
9292
9294
|
showCostBadgeOnCards: false,
|
|
9293
9295
|
/*
|
|
9296
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9297
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9298
|
+
*/
|
|
9299
|
+
chatMessageLayout: "bubbles",
|
|
9300
|
+
/*
|
|
9294
9301
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9295
9302
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9296
9303
|
*/
|
|
@@ -9499,6 +9506,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9499
9506
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9500
9507
|
*/
|
|
9501
9508
|
taskDefinitionInInputLanguage: false,
|
|
9509
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9510
|
+
taskOutputLanguage: void 0,
|
|
9502
9511
|
useAiMergeCommitSummary: true,
|
|
9503
9512
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9504
9513
|
titleSummarizerProvider: void 0,
|
|
@@ -8742,7 +8742,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8742
8742
|
import { EventEmitter } from "node:events";
|
|
8743
8743
|
|
|
8744
8744
|
// ../core/src/types/board/board.ts
|
|
8745
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8745
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8746
8746
|
|
|
8747
8747
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8748
8748
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9180,6 +9180,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9180
9180
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9181
9181
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9182
9182
|
maxRecommendationsPerTask: 3,
|
|
9183
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9184
|
+
requireTaskRecommendations: false,
|
|
9183
9185
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9184
9186
|
recommendationMailboxNoticeEnabled: true,
|
|
9185
9187
|
globalPause: false,
|
|
@@ -9291,6 +9293,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9291
9293
|
*/
|
|
9292
9294
|
showCostBadgeOnCards: false,
|
|
9293
9295
|
/*
|
|
9296
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9297
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9298
|
+
*/
|
|
9299
|
+
chatMessageLayout: "bubbles",
|
|
9300
|
+
/*
|
|
9294
9301
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9295
9302
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9296
9303
|
*/
|
|
@@ -9499,6 +9506,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9499
9506
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9500
9507
|
*/
|
|
9501
9508
|
taskDefinitionInInputLanguage: false,
|
|
9509
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9510
|
+
taskOutputLanguage: void 0,
|
|
9502
9511
|
useAiMergeCommitSummary: true,
|
|
9503
9512
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9504
9513
|
titleSummarizerProvider: void 0,
|
|
@@ -36978,7 +36987,8 @@ function normalizeStreamingDelta(previousText, nextDelta) {
|
|
|
36978
36987
|
const previousChar = previousText.slice(-1);
|
|
36979
36988
|
const nextChar = nextDelta[0] ?? "";
|
|
36980
36989
|
if (/\s/.test(previousChar) || /\s/.test(nextChar)) return nextDelta;
|
|
36981
|
-
|
|
36990
|
+
const isNumericTokenContinuation = previousChar === "." && /\d/.test(previousText.slice(-2, -1)) && /\d/.test(nextChar);
|
|
36991
|
+
if (!isNumericTokenContinuation && /[.!?]/.test(previousChar) && /[A-Z0-9"'([]/.test(nextChar)) {
|
|
36982
36992
|
return ` ${nextDelta}`;
|
|
36983
36993
|
}
|
|
36984
36994
|
return nextDelta;
|
|
@@ -8742,7 +8742,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8742
8742
|
import { EventEmitter } from "node:events";
|
|
8743
8743
|
|
|
8744
8744
|
// ../core/src/types/board/board.ts
|
|
8745
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8745
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8746
8746
|
|
|
8747
8747
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8748
8748
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9180,6 +9180,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9180
9180
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9181
9181
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9182
9182
|
maxRecommendationsPerTask: 3,
|
|
9183
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9184
|
+
requireTaskRecommendations: false,
|
|
9183
9185
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9184
9186
|
recommendationMailboxNoticeEnabled: true,
|
|
9185
9187
|
globalPause: false,
|
|
@@ -9291,6 +9293,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9291
9293
|
*/
|
|
9292
9294
|
showCostBadgeOnCards: false,
|
|
9293
9295
|
/*
|
|
9296
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9297
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9298
|
+
*/
|
|
9299
|
+
chatMessageLayout: "bubbles",
|
|
9300
|
+
/*
|
|
9294
9301
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9295
9302
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9296
9303
|
*/
|
|
@@ -9499,6 +9506,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9499
9506
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9500
9507
|
*/
|
|
9501
9508
|
taskDefinitionInInputLanguage: false,
|
|
9509
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9510
|
+
taskOutputLanguage: void 0,
|
|
9502
9511
|
useAiMergeCommitSummary: true,
|
|
9503
9512
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9504
9513
|
titleSummarizerProvider: void 0,
|
|
@@ -8742,7 +8742,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8742
8742
|
import { EventEmitter } from "node:events";
|
|
8743
8743
|
|
|
8744
8744
|
// ../core/src/types/board/board.ts
|
|
8745
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8745
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8746
8746
|
|
|
8747
8747
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8748
8748
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9180,6 +9180,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9180
9180
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9181
9181
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9182
9182
|
maxRecommendationsPerTask: 3,
|
|
9183
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9184
|
+
requireTaskRecommendations: false,
|
|
9183
9185
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9184
9186
|
recommendationMailboxNoticeEnabled: true,
|
|
9185
9187
|
globalPause: false,
|
|
@@ -9291,6 +9293,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9291
9293
|
*/
|
|
9292
9294
|
showCostBadgeOnCards: false,
|
|
9293
9295
|
/*
|
|
9296
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9297
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9298
|
+
*/
|
|
9299
|
+
chatMessageLayout: "bubbles",
|
|
9300
|
+
/*
|
|
9294
9301
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9295
9302
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9296
9303
|
*/
|
|
@@ -9499,6 +9506,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9499
9506
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9500
9507
|
*/
|
|
9501
9508
|
taskDefinitionInInputLanguage: false,
|
|
9509
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9510
|
+
taskOutputLanguage: void 0,
|
|
9502
9511
|
useAiMergeCommitSummary: true,
|
|
9503
9512
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9504
9513
|
titleSummarizerProvider: void 0,
|
|
@@ -8745,7 +8745,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8745
8745
|
import { EventEmitter } from "node:events";
|
|
8746
8746
|
|
|
8747
8747
|
// ../core/src/types/board/board.ts
|
|
8748
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8748
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8749
8749
|
|
|
8750
8750
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8751
8751
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9183,6 +9183,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9183
9183
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9184
9184
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9185
9185
|
maxRecommendationsPerTask: 3,
|
|
9186
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9187
|
+
requireTaskRecommendations: false,
|
|
9186
9188
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9187
9189
|
recommendationMailboxNoticeEnabled: true,
|
|
9188
9190
|
globalPause: false,
|
|
@@ -9294,6 +9296,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9294
9296
|
*/
|
|
9295
9297
|
showCostBadgeOnCards: false,
|
|
9296
9298
|
/*
|
|
9299
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9300
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9301
|
+
*/
|
|
9302
|
+
chatMessageLayout: "bubbles",
|
|
9303
|
+
/*
|
|
9297
9304
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9298
9305
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9299
9306
|
*/
|
|
@@ -9502,6 +9509,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9502
9509
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9503
9510
|
*/
|
|
9504
9511
|
taskDefinitionInInputLanguage: false,
|
|
9512
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9513
|
+
taskOutputLanguage: void 0,
|
|
9505
9514
|
useAiMergeCommitSummary: true,
|
|
9506
9515
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9507
9516
|
titleSummarizerProvider: void 0,
|
|
@@ -8862,7 +8862,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8862
8862
|
import { EventEmitter } from "node:events";
|
|
8863
8863
|
|
|
8864
8864
|
// ../core/src/types/board/board.ts
|
|
8865
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8865
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8866
8866
|
|
|
8867
8867
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8868
8868
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9300,6 +9300,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9300
9300
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9301
9301
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9302
9302
|
maxRecommendationsPerTask: 3,
|
|
9303
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9304
|
+
requireTaskRecommendations: false,
|
|
9303
9305
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9304
9306
|
recommendationMailboxNoticeEnabled: true,
|
|
9305
9307
|
globalPause: false,
|
|
@@ -9411,6 +9413,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9411
9413
|
*/
|
|
9412
9414
|
showCostBadgeOnCards: false,
|
|
9413
9415
|
/*
|
|
9416
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9417
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9418
|
+
*/
|
|
9419
|
+
chatMessageLayout: "bubbles",
|
|
9420
|
+
/*
|
|
9414
9421
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9415
9422
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9416
9423
|
*/
|
|
@@ -9619,6 +9626,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9619
9626
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9620
9627
|
*/
|
|
9621
9628
|
taskDefinitionInInputLanguage: false,
|
|
9629
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9630
|
+
taskOutputLanguage: void 0,
|
|
9622
9631
|
useAiMergeCommitSummary: true,
|
|
9623
9632
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9624
9633
|
titleSummarizerProvider: void 0,
|
|
@@ -8742,7 +8742,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8742
8742
|
import { EventEmitter } from "node:events";
|
|
8743
8743
|
|
|
8744
8744
|
// ../core/src/types/board/board.ts
|
|
8745
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8745
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8746
8746
|
|
|
8747
8747
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8748
8748
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9180,6 +9180,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9180
9180
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9181
9181
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9182
9182
|
maxRecommendationsPerTask: 3,
|
|
9183
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9184
|
+
requireTaskRecommendations: false,
|
|
9183
9185
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9184
9186
|
recommendationMailboxNoticeEnabled: true,
|
|
9185
9187
|
globalPause: false,
|
|
@@ -9291,6 +9293,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9291
9293
|
*/
|
|
9292
9294
|
showCostBadgeOnCards: false,
|
|
9293
9295
|
/*
|
|
9296
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9297
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9298
|
+
*/
|
|
9299
|
+
chatMessageLayout: "bubbles",
|
|
9300
|
+
/*
|
|
9294
9301
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9295
9302
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9296
9303
|
*/
|
|
@@ -9499,6 +9506,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9499
9506
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9500
9507
|
*/
|
|
9501
9508
|
taskDefinitionInInputLanguage: false,
|
|
9509
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9510
|
+
taskOutputLanguage: void 0,
|
|
9502
9511
|
useAiMergeCommitSummary: true,
|
|
9503
9512
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9504
9513
|
titleSummarizerProvider: void 0,
|
|
@@ -8742,7 +8742,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
8742
8742
|
import { EventEmitter } from "node:events";
|
|
8743
8743
|
|
|
8744
8744
|
// ../core/src/types/board/board.ts
|
|
8745
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
8745
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
8746
8746
|
|
|
8747
8747
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
8748
8748
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -9180,6 +9180,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
9180
9180
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
9181
9181
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
9182
9182
|
maxRecommendationsPerTask: 3,
|
|
9183
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
9184
|
+
requireTaskRecommendations: false,
|
|
9183
9185
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
9184
9186
|
recommendationMailboxNoticeEnabled: true,
|
|
9185
9187
|
globalPause: false,
|
|
@@ -9291,6 +9293,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9291
9293
|
*/
|
|
9292
9294
|
showCostBadgeOnCards: false,
|
|
9293
9295
|
/*
|
|
9296
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
9297
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
9298
|
+
*/
|
|
9299
|
+
chatMessageLayout: "bubbles",
|
|
9300
|
+
/*
|
|
9294
9301
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
9295
9302
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
9296
9303
|
*/
|
|
@@ -9499,6 +9506,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
9499
9506
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
9500
9507
|
*/
|
|
9501
9508
|
taskDefinitionInInputLanguage: false,
|
|
9509
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
9510
|
+
taskOutputLanguage: void 0,
|
|
9502
9511
|
useAiMergeCommitSummary: true,
|
|
9503
9512
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
9504
9513
|
titleSummarizerProvider: void 0,
|
|
@@ -166043,7 +166043,7 @@ import { randomUUID, randomBytes, createHash as createHash2 } from "node:crypto"
|
|
|
166043
166043
|
import { EventEmitter } from "node:events";
|
|
166044
166044
|
|
|
166045
166045
|
// ../core/src/types/board/board.ts
|
|
166046
|
-
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
166046
|
+
var THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
166047
166047
|
|
|
166048
166048
|
// ../core/src/types/ui/execution-and-ui.ts
|
|
166049
166049
|
var STALE_HIGH_FANOUT_BLOCKER_AGE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
|
|
@@ -166481,6 +166481,8 @@ var DEFAULT_GLOBAL_SETTINGS = {
|
|
|
166481
166481
|
var DEFAULT_PROJECT_SETTINGS = {
|
|
166482
166482
|
// FNXC:TaskRecommendations 2026-08-08-05:02: completion follows-ups stay bounded by default; 0 disables writing them.
|
|
166483
166483
|
maxRecommendationsPerTask: 3,
|
|
166484
|
+
// FNXC:TaskRecommendations 2026-08-19-13:05: explicit recommendation evaluation is opt-in and only applies while the positive cap enables capture; relevance always outranks count.
|
|
166485
|
+
requireTaskRecommendations: false,
|
|
166484
166486
|
// FNXC:TaskRecommendations 2026-08-13-03:56: surface completed-task proposals by default; operators can suppress the notice without suppressing capture.
|
|
166485
166487
|
recommendationMailboxNoticeEnabled: true,
|
|
166486
166488
|
globalPause: false,
|
|
@@ -166592,6 +166594,11 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
166592
166594
|
*/
|
|
166593
166595
|
showCostBadgeOnCards: false,
|
|
166594
166596
|
/*
|
|
166597
|
+
FNXC:ChatMessageLayout 2026-08-18-20:27:
|
|
166598
|
+
The project preference applies one reversible layout choice to every standard and task chat surface. Explicitly seed the historical bubbles presentation so upgraded projects preserve their existing UI.
|
|
166599
|
+
*/
|
|
166600
|
+
chatMessageLayout: "bubbles",
|
|
166601
|
+
/*
|
|
166595
166602
|
FNXC:TaskDetailActivityFirst 2026-06-30-23:59:
|
|
166596
166603
|
Project task-detail defaults are Activity-first unless this opt-in is true. Keeping the default false preserves explicit deep-link ids while making omitted non-done task opens land on Activity → Live.
|
|
166597
166604
|
*/
|
|
@@ -166800,6 +166807,8 @@ var DEFAULT_PROJECT_SETTINGS = {
|
|
|
166800
166807
|
not variant-detected and unsupported input, including Japanese, remains English.
|
|
166801
166808
|
*/
|
|
166802
166809
|
taskDefinitionInInputLanguage: false,
|
|
166810
|
+
/* FNXC:TaskOutputLanguage 2026-08-19-14:56: Undefined preserves legacy true compatibility; the resolver supplies English for fresh projects. */
|
|
166811
|
+
taskOutputLanguage: void 0,
|
|
166803
166812
|
useAiMergeCommitSummary: true,
|
|
166804
166813
|
// Title-summarizer model lanes stay project-scoped (not moved in U4).
|
|
166805
166814
|
titleSummarizerProvider: void 0,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runfusion/fusion",
|
|
3
|
-
"version": "0.77.0-beta.
|
|
3
|
+
"version": "0.77.0-beta.4",
|
|
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",
|
package/skill/fusion/SKILL.md
CHANGED
|
@@ -30,7 +30,7 @@ Mission → Milestone → Slice → Feature → Task
|
|
|
30
30
|
- **Task tools** — `fn_task_create`, `fn_task_update`, `fn_task_list`, `fn_task_show`, `fn_task_logs_read`, `fn_task_attach`, `fn_task_pause`, `fn_task_unpause`, `fn_task_retry`, `fn_task_bypass_review`, `fn_task_duplicate`, `fn_task_refine`, `fn_task_archive`, `fn_task_unarchive`, `fn_task_delete`, `fn_task_browse_gitlab_project_issues`, `fn_task_import_gitlab_project_issues`, `fn_task_browse_gitlab_group_issues`, `fn_task_import_gitlab_group_issues`, `fn_task_browse_gitlab_merge_requests`, `fn_task_import_gitlab_merge_requests`, `fn_task_plan`
|
|
31
31
|
- **Workflow tools** — `fn_workflow_list`, `fn_workflow_get`, `fn_workflow_validate`, `fn_workflow_create`, `fn_workflow_update`, `fn_workflow_delete`, `fn_workflow_settings`, `fn_trait_list`, `fn_workflow_select`, `fn_workflow_step_resume`
|
|
32
32
|
- **GitHub tools** — `fn_task_import_github`, `fn_task_import_github_issue`, `fn_task_browse_github_issues`
|
|
33
|
-
- **Mission tools** — `fn_mission_create`, `fn_mission_list`, `fn_mission_show`, `fn_mission_list_goals`, `fn_mission_link_goal`, `fn_mission_unlink_goal`, `fn_mission_backfill_assertions`, `fn_mission_delete`, `fn_mission_set_status`, `fn_mission_clear_blocked`, `fn_mission_update`, `fn_milestone_add`, `fn_slice_add`, `fn_feature_add`, `fn_feature_delete`, `fn_slice_delete`, `fn_milestone_delete`, `fn_slice_activate`, `fn_feature_link_task`, `fn_feature_set_status`, `fn_mission_reconcile`, `fn_feature_repair_validation`, `fn_feature_update`, `fn_milestone_update`
|
|
33
|
+
- **Mission tools** — `fn_mission_create`, `fn_mission_list`, `fn_mission_show`, `fn_mission_list_goals`, `fn_mission_link_goal`, `fn_mission_unlink_goal`, `fn_mission_backfill_assertions`, `fn_mission_delete`, `fn_mission_set_status`, `fn_mission_clear_blocked`, `fn_mission_update`, `fn_milestone_add`, `fn_slice_add`, `fn_feature_add`, `fn_feature_delete`, `fn_slice_delete`, `fn_milestone_delete`, `fn_slice_activate`, `fn_feature_link_task`, `fn_feature_repoint_task`, `fn_feature_unlink_task`, `fn_feature_set_status`, `fn_mission_reconcile`, `fn_feature_repair_validation`, `fn_feature_update`, `fn_milestone_update`
|
|
34
34
|
- **Goal tools** — `fn_goal_list`, `fn_goal_create`, `fn_goal_archive`, `fn_goal_show`
|
|
35
35
|
- **Agent tools** — `fn_agent_stop`, `fn_agent_start`, `fn_agent_create`, `fn_agent_update`, `fn_agent_set_instructions`, `fn_agent_read_evaluations`, `fn_agent_evaluation_followup`, `fn_agent_delete`, `fn_list_agents`, `fn_delegate_task`, `fn_agent_show`, `fn_agent_org_chart`
|
|
36
36
|
- **Skills tools** — `fn_skills_search`, `fn_skills_install`
|
|
@@ -526,6 +526,23 @@ Link a feature to a fn task for implementation. Updates the feature status to 't
|
|
|
526
526
|
| `featureId` | string | ✓ | Feature ID to link (e.g., F-001) |
|
|
527
527
|
| `taskId` | string | ✓ | Task ID to link to (e.g., FN-001) |
|
|
528
528
|
|
|
529
|
+
### fn_feature_repoint_task
|
|
530
|
+
|
|
531
|
+
Atomically re-point an already-linked feature's single-valued taskId to a different task. Corrects a feature pinned to the wrong task (for example a shared vision doc) without the status-lossy unlink then link two-step. The target task must be live; same-task re-point is an idempotent no-op.
|
|
532
|
+
|
|
533
|
+
| Parameter | Type | Required | Description |
|
|
534
|
+
|-----------|------|----------|-------------|
|
|
535
|
+
| `featureId` | string | ✓ | Feature ID to re-point (e.g., F-001) |
|
|
536
|
+
| `taskId` | string | ✓ | Task ID to re-point to (e.g., FN-001) |
|
|
537
|
+
|
|
538
|
+
### fn_feature_unlink_task
|
|
539
|
+
|
|
540
|
+
Detach a feature from its linked task entirely, clearing its single-valued taskId and demoting its status to 'defined'. Use before the documented safe duplicate-cleanup and reconcile-done flow. Returns a clear error if the feature is not currently linked to any task.
|
|
541
|
+
|
|
542
|
+
| Parameter | Type | Required | Description |
|
|
543
|
+
|-----------|------|----------|-------------|
|
|
544
|
+
| `featureId` | string | ✓ | Feature ID to unlink (e.g., F-001) |
|
|
545
|
+
|
|
529
546
|
### fn_feature_set_status
|
|
530
547
|
|
|
531
548
|
Set a feature lifecycle status.
|
|
@@ -77,6 +77,8 @@ All skill/extension tool invocations in this catalog use the public `fn_*` names
|
|
|
77
77
|
| `fn_milestone_delete` | Delete a milestone and all descendant slices/features. Rejects deletion when child features link to live tasks unless force=true. |
|
|
78
78
|
| `fn_slice_activate` | Activate a pending slice for implementation. Sets status to 'active' and enables task linking for its features. |
|
|
79
79
|
| `fn_feature_link_task` | Link a feature to a fn task for implementation. Updates the feature status to 'triaged' and associates it with the task. If the target task is not on the active board (for example archived, deleted, or never created), the tool returns a clear validation error indicating that only active tasks can be linked. |
|
|
80
|
+
| `fn_feature_repoint_task` | Atomically re-point an already-linked feature's single-valued taskId to a different task. Corrects a feature pinned to the wrong task (for example a shared vision doc) without the status-lossy unlink then link two-step. The target task must be live; same-task re-point is an idempotent no-op. |
|
|
81
|
+
| `fn_feature_unlink_task` | Detach a feature from its linked task entirely, clearing its single-valued taskId and demoting its status to 'defined'. Use before the documented safe duplicate-cleanup and reconcile-done flow. Returns a clear error if the feature is not currently linked to any task. |
|
|
80
82
|
| `fn_feature_set_status` | Set a feature lifecycle status. |
|
|
81
83
|
| `fn_mission_reconcile` | Reconcile mission state against deterministic delivery ground truth. |
|
|
82
84
|
| `fn_feature_repair_validation` | Clear a stale validation badge or re-run validation. |
|