@runfusion/fusion 0.35.0 → 0.37.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 +2685 -585
- package/dist/client/.vite/manifest.json +61 -61
- package/dist/client/assets/{AgentDetailView-CFX3jxfA.js → AgentDetailView-T_AHPxcG.js} +1 -1
- package/dist/client/assets/{AgentPermissionPolicyEditor-4tnYHS0-.js → AgentPermissionPolicyEditor-niLSqGAE.js} +1 -1
- package/dist/client/assets/{AgentsView-DnNWfwiY.js → AgentsView-CQhaLHz_.js} +3 -3
- package/dist/client/assets/{ChatView-rwl2O-s0.js → ChatView-B60kYfdk.js} +1 -1
- package/dist/client/assets/{DevServerView-C9fEzcFQ.js → DevServerView-0Gb44WOb.js} +1 -1
- package/dist/client/assets/{DirectoryPicker-Cwyr0Sl4.js → DirectoryPicker-BSQA0XM9.js} +1 -1
- package/dist/client/assets/{DocumentsView-gDWTMU2w.js → DocumentsView-XZbaqEFF.js} +1 -1
- package/dist/client/assets/{EvalsView-Cw7D1x0W.js → EvalsView-CJNtXxX9.js} +1 -1
- package/dist/client/assets/{ExperimentalAgentOnboardingModal-8yeOcqbX.js → ExperimentalAgentOnboardingModal-DR8E3i36.js} +1 -1
- package/dist/client/assets/GoalsView-CN1zQ_Ax.js +1 -0
- package/dist/client/assets/GoalsView-CtWi0fxE.css +1 -0
- package/dist/client/assets/{InsightsView-IHHikd5n.js → InsightsView-D_jRaMyn.js} +1 -1
- package/dist/client/assets/{MemoryView-pii3HOba.js → MemoryView-D90vdPnp.js} +1 -1
- package/dist/client/assets/{NodesView-CoDK14B3.js → NodesView-C1zuedAe.js} +1 -1
- package/dist/client/assets/{PiExtensionsManager-vH7EJ5JD.js → PiExtensionsManager-DBJDDVfM.js} +1 -1
- package/dist/client/assets/{PluginManager-PbkFQ0Nu.js → PluginManager-Ceg64P2Z.js} +1 -1
- package/dist/client/assets/{ResearchView-Dp4g_BWq.js → ResearchView-XRwWdczc.js} +1 -1
- package/dist/client/assets/{SecretsView-Q8wES8_N.js → SecretsView-TCrKyCme.js} +1 -1
- package/dist/client/assets/{SettingsModal-127YAB8c.js → SettingsModal-B8fRuWdQ.js} +4 -4
- package/dist/client/assets/{SettingsModal-DdUztATB.js → SettingsModal-C1TczsEr.js} +1 -1
- package/dist/client/assets/{SetupWizardModal-BSAFiQpJ.js → SetupWizardModal-D6moSTT3.js} +1 -1
- package/dist/client/assets/{SkillsView-Bj8KQQXB.js → SkillsView-BDHLPVBi.js} +1 -1
- package/dist/client/assets/{StashRecoveryView-DvKN_b_k.js → StashRecoveryView-DZGa591R.js} +1 -1
- package/dist/client/assets/{TodoView-C-cabt2D.js → TodoView-nr_SnCJv.js} +1 -1
- package/dist/client/assets/{dashboard-view-DrHb8VOl.js → dashboard-view-0XeZ1FTR.js} +1 -1
- package/dist/client/assets/{folder-open-CYVKFKAx.js → folder-open-iURwQbEg.js} +1 -1
- package/dist/client/assets/index-CjuQj4qe.js +742 -0
- package/dist/client/assets/index-DmrpDn7c.css +1 -0
- package/dist/client/assets/{upload-eQh-mH3-.js → upload-Beqg4S4L.js} +1 -1
- package/dist/client/assets/{users-B5upejXg.js → users-C2o86ZCR.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/version.json +1 -1
- package/dist/droid-cli/index.ts +1 -1
- package/dist/droid-cli/package.json +3 -3
- package/dist/droid-cli/src/__tests__/thinking-config.test.ts +1 -1
- package/dist/extension.js +1928 -287
- package/dist/pi-claude-cli/index.ts +3 -3
- package/dist/pi-claude-cli/package.json +3 -3
- package/dist/pi-claude-cli/src/__tests__/event-bridge.test.ts +3 -3
- package/dist/pi-claude-cli/src/__tests__/provider.test.ts +3 -3
- package/dist/pi-claude-cli/src/__tests__/thinking-config.test.ts +1 -1
- package/dist/pi-claude-cli/src/event-bridge.ts +2 -2
- package/dist/pi-claude-cli/src/provider.ts +1 -1
- package/dist/pi-claude-cli/src/thinking-config.ts +1 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/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/bundled.js +34607 -33421
- package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/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 +7 -7
- package/skill/fusion/SKILL.md +1 -0
- package/skill/fusion/references/cli-commands.md +3 -0
- package/skill/fusion/references/extension-tools.md +43 -0
- package/skill/fusion/references/fusion-capabilities.md +4 -0
- package/dist/client/assets/GoalsView-Cg136Jcn.css +0 -1
- package/dist/client/assets/GoalsView-kRIhgAA6.js +0 -1
- package/dist/client/assets/index-Cuh_Pqv0.css +0 -1
- package/dist/client/assets/index-Cze5qbME.js +0 -742
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runfusion/fusion",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.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",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"README.md"
|
|
41
41
|
],
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@
|
|
44
|
-
"@
|
|
43
|
+
"@earendil-works/pi-ai": "^0.77.0",
|
|
44
|
+
"@earendil-works/pi-coding-agent": "^0.77.0",
|
|
45
45
|
"dockerode": "^4.0.12",
|
|
46
46
|
"express": "^5.1.0",
|
|
47
47
|
"ink": "^6.8.0",
|
|
@@ -53,15 +53,15 @@
|
|
|
53
53
|
"react": "^19.0.0"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
|
-
"@
|
|
57
|
-
"@
|
|
56
|
+
"@earendil-works/pi-ai": "*",
|
|
57
|
+
"@earendil-works/pi-coding-agent": "*",
|
|
58
58
|
"typebox": "*"
|
|
59
59
|
},
|
|
60
60
|
"peerDependenciesMeta": {
|
|
61
|
-
"@
|
|
61
|
+
"@earendil-works/pi-ai": {
|
|
62
62
|
"optional": true
|
|
63
63
|
},
|
|
64
|
-
"@
|
|
64
|
+
"@earendil-works/pi-coding-agent": {
|
|
65
65
|
"optional": true
|
|
66
66
|
},
|
|
67
67
|
"typebox": {
|
package/skill/fusion/SKILL.md
CHANGED
|
@@ -30,6 +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_attach`, `fn_task_pause`, `fn_task_unpause`, `fn_task_retry`, `fn_task_duplicate`, `fn_task_refine`, `fn_task_archive`, `fn_task_unarchive`, `fn_task_delete`, `fn_task_plan`
|
|
31
31
|
- **GitHub tools** — `fn_task_import_github`, `fn_task_import_github_issue`, `fn_task_browse_github_issues`
|
|
32
32
|
- **Mission tools** — `fn_mission_create`, `fn_mission_list`, `fn_mission_show`, `fn_mission_delete`, `fn_milestone_add`, `fn_slice_add`, `fn_feature_add`, `fn_slice_activate`, `fn_feature_link_task`, `fn_feature_update`, `fn_milestone_update`
|
|
33
|
+
- **Goal tools** — `fn_goal_list`, `fn_goal_create`, `fn_goal_archive`, `fn_goal_show`
|
|
33
34
|
- **Agent tools** — `fn_agent_stop`, `fn_agent_start`, `fn_agent_create`, `fn_agent_delete`, `fn_list_agents`, `fn_delegate_task`, `fn_agent_show`, `fn_agent_org_chart`
|
|
34
35
|
- **Skills tools** — `fn_skills_search`, `fn_skills_install`
|
|
35
36
|
- **Insight tools** — `fn_insight_list`, `fn_insight_show`, `fn_insight_run_list`, `fn_insight_run_show`
|
|
@@ -62,6 +62,9 @@ fn mission list # List all missions
|
|
|
62
62
|
fn mission show M-001 # Show mission hierarchy
|
|
63
63
|
fn mission delete M-001 [--force] # Delete mission (cascades)
|
|
64
64
|
fn mission activate-slice SL-001 # Manually activate a slice
|
|
65
|
+
fn goals list [--status STATE] # List goals (default: active)
|
|
66
|
+
fn goals create "Title" "Description" # Create a new goal
|
|
67
|
+
fn goals archive G-001 # Archive a goal
|
|
65
68
|
```
|
|
66
69
|
|
|
67
70
|
## GitHub Integration
|
|
@@ -274,6 +274,41 @@ Update an existing milestone's title, description, or acceptance criteria (the s
|
|
|
274
274
|
| `description` | string | — | Updated milestone description |
|
|
275
275
|
| `acceptanceCriteria` | string | — | Updated acceptance criteria for completing the milestone |
|
|
276
276
|
|
|
277
|
+
## Goal Tools
|
|
278
|
+
|
|
279
|
+
### fn_goal_list
|
|
280
|
+
|
|
281
|
+
List goals by status with active-goal warning details.
|
|
282
|
+
|
|
283
|
+
| Parameter | Type | Required | Description |
|
|
284
|
+
|-----------|------|----------|-------------|
|
|
285
|
+
| `status` | union | — | Filter by goal status (default: active) |
|
|
286
|
+
|
|
287
|
+
### fn_goal_create
|
|
288
|
+
|
|
289
|
+
Create a new project goal.
|
|
290
|
+
|
|
291
|
+
| Parameter | Type | Required | Description |
|
|
292
|
+
|-----------|------|----------|-------------|
|
|
293
|
+
| `title` | string | ✓ | Goal title — brief but descriptive |
|
|
294
|
+
| `description` | string | — | Long-form goal description (free-text markdown) |
|
|
295
|
+
|
|
296
|
+
### fn_goal_archive
|
|
297
|
+
|
|
298
|
+
Archive a goal by ID.
|
|
299
|
+
|
|
300
|
+
| Parameter | Type | Required | Description |
|
|
301
|
+
|-----------|------|----------|-------------|
|
|
302
|
+
| `id` | string | ✓ | Goal ID (G-…) to archive |
|
|
303
|
+
|
|
304
|
+
### fn_goal_show
|
|
305
|
+
|
|
306
|
+
Show full details for a single goal by ID.
|
|
307
|
+
|
|
308
|
+
| Parameter | Type | Required | Description |
|
|
309
|
+
|-----------|------|----------|-------------|
|
|
310
|
+
| `id` | string | ✓ | Goal ID (G-…) |
|
|
311
|
+
|
|
277
312
|
## Agent Tools
|
|
278
313
|
|
|
279
314
|
### fn_agent_stop
|
|
@@ -496,6 +531,14 @@ Group kept experiment runs into reviewable branches and finalize the session. Us
|
|
|
496
531
|
| `summary` | string | — | Optional finalize summary |
|
|
497
532
|
|
|
498
533
|
<!-- END: extension-tools -->
|
|
534
|
+
|
|
535
|
+
## Goal retrieval contract notes
|
|
536
|
+
|
|
537
|
+
### Goal-show response contract
|
|
538
|
+
|
|
539
|
+
- **Success:** returns `details.goal` as the complete goal JSON object (`id`, `title`, optional `description`, `status`, `createdAt`, `updatedAt`) and `content[0].text` with those same human-readable fields.
|
|
540
|
+
- **Not found:** returns `isError: true` with `details.code: "GOAL_NOT_FOUND"` and `details.goalId` set to the requested id.
|
|
541
|
+
|
|
499
542
|
## Dashboard Command
|
|
500
543
|
|
|
501
544
|
### /fn
|
|
@@ -43,6 +43,10 @@ All skill/extension tool invocations in this catalog use the public `fn_*` names
|
|
|
43
43
|
| `fn_insight_run_show` | Show a single insight-generation run by ID. |
|
|
44
44
|
| `fn_mission_create` | Create a new mission — a high-level objective that can span multiple milestones. Missions contain milestones that break down work into phases. |
|
|
45
45
|
| `fn_mission_list` | List all missions with their current status. |
|
|
46
|
+
| `fn_goal_list` | List goals by status with active-goal warning details. |
|
|
47
|
+
| `fn_goal_create` | Create a new project goal. |
|
|
48
|
+
| `fn_goal_archive` | Archive a goal by ID. |
|
|
49
|
+
| `fn_goal_show` | Show full details for a single goal by ID. |
|
|
46
50
|
| `fn_mission_show` | Show mission details with full hierarchy: milestones → slices → features. |
|
|
47
51
|
| `fn_mission_delete` | Delete a mission and all its milestones, slices, and features. Cannot be undone. |
|
|
48
52
|
| `fn_milestone_add` | Add a milestone to a mission. Milestones represent phases of work. |
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.goals-view{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg)}.goals-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.goals-title{margin:0;color:var(--text);font-size:calc(var(--space-lg) + var(--space-xs))}.goals-count{margin:0;color:var(--text-muted)}.goals-add-button{display:inline-flex;align-items:center;gap:var(--space-sm)}.goals-add-button:focus-visible,.goals-card:focus-visible,.goals-activate-button:focus-visible{outline:none;box-shadow:var(--focus-ring-strong)}.goals-warning{margin:0;padding:var(--space-md);border-radius:var(--radius-md);border:calc(var(--space-xs) / 4) solid var(--color-warning);background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning)}.goals-error{margin:0}.goals-list{display:flex;flex-direction:column;gap:var(--space-md)}.goals-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.goals-card-main{min-width:0}.goals-card-title{margin:0;color:var(--text);font-size:calc(var(--space-md) + var(--space-xs))}.goals-card-status{margin:var(--space-xs) 0 0;color:var(--text-muted)}.goals-activate-button{min-width:calc(var(--space-2xl) * 2)}.goals-empty{color:var(--text-muted)}@media(max-width:768px){.goals-header{flex-direction:column;align-items:stretch}.goals-add-button,.goals-card,.goals-activate-button{min-height:calc(var(--space-xl) + var(--space-md))}.goals-card{flex-direction:column;align-items:stretch}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as t,r as g}from"./vendor-react-K0fH_qHe.js";import{J as h}from"./index-Cze5qbME.js";import"./vendor-xterm-DzcZoU0P.js";import"./vendor-codemirror-jBKmHyH0.js";const v=5,p=3,x=[{id:"goal-1",title:"Reduce mean review turnaround",status:"active",createdAt:"2026-05-14T09:30:00.000Z"},{id:"goal-2",title:"Raise merge reliability coverage",status:"active",createdAt:"2026-05-15T12:00:00.000Z"},{id:"goal-3",title:"Ship dashboard quality audit",status:"inactive",createdAt:"2026-05-16T08:15:00.000Z"}];function j(n){const[s,i]=g.useState(()=>n??x),[c,o]=g.useState(null),l=g.useMemo(()=>s.filter(e=>e.status==="active").length,[s]);function r(){if(l>=v){o("Cannot activate more than 5 goals. Resolve an active goal before adding another active goal.");return}o(null),i(e=>[...e,{id:`goal-${e.length+1}`,title:`New Goal ${e.length+1}`,status:"active",createdAt:new Date().toISOString()}])}function a(e){const m=s.find(d=>d.id===e);if(!(!m||m.status==="active")){if(l>=v){o("Cannot activate more than 5 goals. Resolve an active goal before activating another.");return}o(null),i(d=>d.map(u=>u.id===e?{...u,status:"active"}:u))}}return{goals:s,activeCount:l,errorMessage:c,addGoal:r,activateGoal:a}}function A({initialGoals:n}){const{goals:s,activeCount:i,errorMessage:c,addGoal:o,activateGoal:l}=j(n),r=i>=p&&i<=v;return t.jsxs("section",{className:"goals-view","data-testid":"goals-view",children:[t.jsxs("header",{className:"goals-header",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"goals-title",children:"Goals"}),t.jsxs("p",{className:"goals-count","data-testid":"goals-active-count",children:[i," active goals"]})]}),t.jsxs("button",{type:"button",className:"btn btn-primary goals-add-button",onClick:o,"data-testid":"goals-add-button",children:[t.jsx(h,{"aria-hidden":"true"}),"Add Goal"]})]}),r?t.jsx("p",{className:"goals-warning",role:"status",children:"Approaching the 5-active goal cap. Keep active goals focused."}):null,c?t.jsx("p",{className:"form-error goals-error",role:"alert",children:c}):null,s.length===0?t.jsx("div",{className:"goals-empty card","data-testid":"goals-empty-state",children:"No goals yet. Add one to begin tracking strategic outcomes."}):t.jsx("div",{className:"goals-list","data-testid":"goals-list",children:s.map(a=>t.jsxs("article",{className:"card goals-card","data-testid":`goal-card-${a.id}`,children:[t.jsxs("div",{className:"goals-card-main",children:[t.jsx("h3",{className:"goals-card-title",children:a.title}),t.jsxs("p",{className:"goals-card-status",children:["Status: ",a.status]})]}),t.jsx("button",{type:"button",className:"btn goals-activate-button",disabled:a.status==="active",onClick:()=>l(a.id),"data-testid":`goal-activate-${a.id}`,children:a.status==="active"?"Active":"Activate"})]},a.id))})]})}export{A as GoalsView};
|