fifony 0.1.12 → 0.1.13
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/app/dist/assets/{KeyboardShortcutsHelp-DI0LzTPt.js → KeyboardShortcutsHelp-C7XipNeo.js} +1 -1
- package/app/dist/assets/{OnboardingWizard-D14g4Av8.js → OnboardingWizard-D9Ps6ffD.js} +1 -1
- package/app/dist/assets/{analytics.lazy--EwAzrll.js → analytics.lazy-CkRZNa5B.js} +1 -1
- package/app/dist/assets/index-BVJ46xCh.js +42 -0
- package/app/dist/assets/{index-Cdczus0s.css → index-CW9PqAUW.css} +1 -1
- package/app/dist/index.html +2 -2
- package/app/dist/service-worker.js +1 -1
- package/dist/mcp/server.js +16 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/runtime/run-local.js +136 -1
- package/dist/runtime/run-local.js.map +1 -1
- package/package.json +1 -1
- package/app/dist/assets/index-CFbxnygd.js +0 -42
package/app/dist/index.html
CHANGED
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
<link rel="manifest" href="/assets/manifest.webmanifest" />
|
|
14
14
|
<link rel="icon" href="/assets/icon.svg" type="image/svg+xml" />
|
|
15
15
|
<link rel="apple-touch-icon" href="/assets/icon.svg" />
|
|
16
|
-
<script type="module" crossorigin src="/assets/assets/index-
|
|
16
|
+
<script type="module" crossorigin src="/assets/assets/index-BVJ46xCh.js"></script>
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/assets/rolldown-runtime-DF2fYuay.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="/assets/assets/vendor-BoGBoEwT.js">
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/assets/createLucideIcon-DDy-XBQG.js">
|
|
20
|
-
<link rel="stylesheet" crossorigin href="/assets/assets/index-
|
|
20
|
+
<link rel="stylesheet" crossorigin href="/assets/assets/index-CW9PqAUW.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<div id="root"></div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const CACHE_VERSION = "
|
|
1
|
+
const CACHE_VERSION = "1773723368766";
|
|
2
2
|
const CORE_CACHE = `fifony-core-${CACHE_VERSION}`;
|
|
3
3
|
const ASSET_CACHE = `fifony-assets-${CACHE_VERSION}`;
|
|
4
4
|
const APP_SHELL_ROUTES = ["/kanban", "/issues", "/agents", "/providers", "/settings"];
|
package/dist/mcp/server.js
CHANGED
|
@@ -879,6 +879,7 @@ function listTools() {
|
|
|
879
879
|
{ name: "fifony.plan", description: "Generate an AI plan for an issue. The issue must be in Planning state. Returns the plan summary and step count.", inputSchema: { type: "object", properties: { issueId: { type: "string", description: "The issue identifier to plan." }, fast: { type: "boolean", description: "Use fast planning mode (less thorough but quicker)." } }, required: ["issueId"], additionalProperties: false } },
|
|
880
880
|
{ name: "fifony.refine", description: "Refine an existing plan with feedback. The issue must already have a plan.", inputSchema: { type: "object", properties: { issueId: { type: "string", description: "The issue identifier whose plan to refine." }, feedback: { type: "string", description: "Feedback to guide the plan refinement." } }, required: ["issueId", "feedback"], additionalProperties: false } },
|
|
881
881
|
{ name: "fifony.approve", description: "Approve a plan and move the issue to Todo for execution.", inputSchema: { type: "object", properties: { issueId: { type: "string", description: "The issue identifier to approve." } }, required: ["issueId"], additionalProperties: false } },
|
|
882
|
+
{ name: "fifony.merge", description: "Merge workspace changes back into the project root. Copies new/modified files from the issue workspace to TARGET_ROOT and removes files that were deleted. Skips fifony internal files, node_modules, .git, and dist.", inputSchema: { type: "object", properties: { issueId: { type: "string", description: "The issue identifier whose workspace to merge." } }, required: ["issueId"], additionalProperties: false } },
|
|
882
883
|
{ name: "fifony.analytics", description: "Get token usage analytics including overall totals, cost estimates, and top issues by token consumption.", inputSchema: { type: "object", properties: {}, additionalProperties: false } },
|
|
883
884
|
{ name: "fifony.integration_config", description: "Generate a ready-to-paste MCP client configuration snippet for this Fifony workspace.", inputSchema: { type: "object", properties: { client: { type: "string" } }, additionalProperties: false } },
|
|
884
885
|
{ name: "fifony.list_integrations", description: "List discovered local integrations such as agency-agents profiles and impeccable skills.", inputSchema: { type: "object", properties: {}, additionalProperties: false } },
|
|
@@ -1047,6 +1048,18 @@ async function callTool(name, args = {}) {
|
|
|
1047
1048
|
message: `Plan approved for ${issueId}. Issue moved to Todo and is ready for execution.`
|
|
1048
1049
|
}, null, 2));
|
|
1049
1050
|
}
|
|
1051
|
+
if (name === "fifony.merge") {
|
|
1052
|
+
const issueId = typeof args.issueId === "string" ? args.issueId.trim() : "";
|
|
1053
|
+
if (!issueId) throw new Error("issueId is required");
|
|
1054
|
+
const result = await apiPost(`/api/issues/${encodeURIComponent(issueId)}/merge`);
|
|
1055
|
+
return toolText(JSON.stringify({
|
|
1056
|
+
issueId,
|
|
1057
|
+
copied: result.copied,
|
|
1058
|
+
deleted: result.deleted,
|
|
1059
|
+
skipped: result.skipped,
|
|
1060
|
+
message: `Merged ${result.copied?.length ?? 0} files into project root. ${result.deleted?.length ?? 0} files removed.`
|
|
1061
|
+
}, null, 2));
|
|
1062
|
+
}
|
|
1050
1063
|
if (name === "fifony.analytics") {
|
|
1051
1064
|
const result = await apiGet("/api/analytics/tokens");
|
|
1052
1065
|
const overall = result.overall;
|
|
@@ -1100,8 +1113,11 @@ async function callTool(name, args = {}) {
|
|
|
1100
1113
|
events = Array.isArray(evResult.events) ? evResult.events : [];
|
|
1101
1114
|
} catch {
|
|
1102
1115
|
}
|
|
1116
|
+
const issueObj = issue;
|
|
1117
|
+
const mergeInfo = issueObj.mergedAt ? { mergedAt: issueObj.mergedAt, mergeResult: issueObj.mergeResult, message: `Code merged to project root at ${issueObj.mergedAt}. Available for testing.` } : null;
|
|
1103
1118
|
return toolText(JSON.stringify({
|
|
1104
1119
|
issue,
|
|
1120
|
+
mergeStatus: mergeInfo,
|
|
1105
1121
|
diffSummary: diff ? { files: diff.files, totalAdditions: diff.totalAdditions, totalDeletions: diff.totalDeletions } : null,
|
|
1106
1122
|
recentEvents: events.slice(0, 20)
|
|
1107
1123
|
}, null, 2));
|