fifony 0.1.43 → 0.1.47
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/{CommandPalette-M4VAMxCU.js → CommandPalette-CL8p78lG.js} +1 -1
- package/app/dist/assets/{KeyboardShortcutsHelp-DkvPUXQq.js → KeyboardShortcutsHelp-CqEFfGcE.js} +1 -1
- package/app/dist/assets/OnboardingWizard-BmI50ZUv.js +1 -0
- package/app/dist/assets/analytics.lazy-CXGjZabc.js +1 -0
- package/app/dist/assets/{api-CkVfYg_m.js → api-CEr_D4e5.js} +1 -1
- package/app/dist/assets/{createLucideIcon-Dfk_Hxud.js → createLucideIcon-luywpIq4.js} +1 -1
- package/app/dist/assets/index-CEaccpYh.js +96 -0
- package/app/dist/assets/index-CzzWGzux.css +1 -0
- package/app/dist/assets/vendor-uqBx3VSC.js +9 -0
- package/app/dist/index.html +12 -12
- package/app/dist/service-worker.js +15 -5
- package/dist/agent/pty-daemon.js +3 -2
- package/dist/agent/run-local.js +71 -52
- package/dist/{agent-RMQTTUEC.js → agent-DFSFG6DG.js} +18 -12
- package/dist/{analytics-broadcaster-O6YBP66L.js → analytics-broadcaster-O4AE3RUK.js} +21 -14
- package/dist/approve-plan.command-QGQZZXTQ.js +17 -0
- package/dist/{chunk-E2EWEYA4.js → chunk-2PRRKBG6.js} +20 -10
- package/dist/chunk-5AMWD66T.js +38 -0
- package/dist/{chunk-QQQLP3PL.js → chunk-7TXZYZR5.js} +9 -37
- package/dist/chunk-AAVROEQC.js +859 -0
- package/dist/{chunk-ESWHDHH6.js → chunk-AAZKYWOY.js} +4 -4
- package/dist/chunk-EBCSQFPR.js +682 -0
- package/dist/{chunk-BRSR26VK.js → chunk-FH7HUPZX.js} +2 -2
- package/dist/chunk-HOIOVUHI.js +35 -0
- package/dist/{chunk-AILXZ2TD.js → chunk-JRLWLZOD.js} +20 -13
- package/dist/{chunk-YRSH2CLW.js → chunk-K36BWMUV.js} +1741 -1216
- package/dist/chunk-N4KFNX2G.js +370 -0
- package/dist/chunk-PACI3T4I.js +125 -0
- package/dist/{chunk-FJNH3G2Z.js → chunk-PI7Y77R3.js} +38 -663
- package/dist/{chunk-DVU3CXWA.js → chunk-PXTIWKLQ.js} +2 -1
- package/dist/{chunk-SOBLO4YZ.js → chunk-QH6VCTET.js} +316 -127
- package/dist/{chunk-MVTGAKQK.js → chunk-QHISYRXJ.js} +2 -2
- package/dist/{chunk-42AMQAJG.js → chunk-VM5QAYP5.js} +2 -2
- package/dist/cli.js +17 -11
- package/dist/create-issue.command-VAKYRECC.js +24 -0
- package/dist/{fsm-issue-YGGF7SIL.js → fsm-issue-EHTSKMFN.js} +9 -8
- package/dist/fsm-service-7O4AJG2R.js +32 -0
- package/dist/{helpers-L7NYO5XS.js → helpers-ON2S7UEF.js} +2 -2
- package/dist/{issue-log-broadcaster-WZAHISYB.js → issue-log-broadcaster-FZGVEEIX.js} +20 -13
- package/dist/{issues-3QRR7KM6.js → issues-3YNNTB4U.js} +10 -7
- package/dist/{log-analyzer-K7MXQB4T.js → log-analyzer-EIX6R6PP.js} +82 -18
- package/dist/logger-IFLXTQPS.js +11 -0
- package/dist/mcp/server.js +2 -2
- package/dist/merge-workspace.command-T2NIGR4M.js +24 -0
- package/dist/{parallel-executor-6INE6NDO.js → parallel-executor-DWESCNX3.js} +20 -14
- package/dist/queue-workers-V57BYXAY.js +38 -0
- package/dist/replan-issue.command-2GQ3QXCR.js +17 -0
- package/dist/retry-issue.command-GJBUUYDJ.js +17 -0
- package/dist/scheduler-KYILMWLD.js +32 -0
- package/dist/{settings-ZAWDCFP2.js → settings-SOTIS6ZD.js} +32 -12
- package/dist/settings.resource-JMD3JQOS.js +30 -0
- package/dist/{store-M6NCKMZY.js → store-S3NAYZ3S.js} +18 -12
- package/dist/{web-push-AX5IIK3P.js → web-push-QCTLS7EJ.js} +3 -3
- package/dist/websocket-T2Y3BY4B.js +61 -0
- package/dist/{workspace-CJTWFWTJ.js → workspace-OS7GPMCN.js} +7 -6
- package/package.json +8 -5
- package/app/dist/assets/OnboardingWizard-B7V9hoCR.js +0 -1
- package/app/dist/assets/analytics.lazy-zVJdF880.js +0 -1
- package/app/dist/assets/index-BpiCi7Ew.css +0 -1
- package/app/dist/assets/index-D2INW0zc.js +0 -47
- package/app/dist/assets/vendor-BEoYbFV1.js +0 -9
- package/dist/queue-workers-XFZK3TT5.js +0 -32
- package/dist/replan-issue.command-4UCWYHGZ.js +0 -15
- package/dist/scheduler-ZP7GOZDW.js +0 -26
- package/dist/settings.resource-5CW456AZ.js +0 -24
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
logger
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PXTIWKLQ.js";
|
|
4
4
|
|
|
5
5
|
// src/domains/web-push.ts
|
|
6
6
|
import webpush from "web-push";
|
|
@@ -101,4 +101,4 @@ export {
|
|
|
101
101
|
getSubscriptionCount,
|
|
102
102
|
sendPushToAll
|
|
103
103
|
};
|
|
104
|
-
//# sourceMappingURL=chunk-
|
|
104
|
+
//# sourceMappingURL=chunk-FH7HUPZX.js.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
transitionIssueCommand
|
|
3
|
+
} from "./chunk-7TXZYZR5.js";
|
|
4
|
+
import {
|
|
5
|
+
assertPlanReadyForExecution
|
|
6
|
+
} from "./chunk-JRLWLZOD.js";
|
|
7
|
+
import {
|
|
8
|
+
ensureGitRepoReadyForWorktrees
|
|
9
|
+
} from "./chunk-QH6VCTET.js";
|
|
10
|
+
import {
|
|
11
|
+
TARGET_ROOT
|
|
12
|
+
} from "./chunk-VM5QAYP5.js";
|
|
13
|
+
|
|
14
|
+
// src/commands/approve-plan.command.ts
|
|
15
|
+
async function approvePlanCommand(input, deps) {
|
|
16
|
+
const { issue } = input;
|
|
17
|
+
if (issue.state !== "Planning") {
|
|
18
|
+
throw new Error(`Cannot approve issue in state ${issue.state}. Must be in Planning.`);
|
|
19
|
+
}
|
|
20
|
+
assertPlanReadyForExecution(issue, "approve this plan");
|
|
21
|
+
ensureGitRepoReadyForWorktrees(TARGET_ROOT, "execute approved plans");
|
|
22
|
+
await transitionIssueCommand(
|
|
23
|
+
{ issue, target: "PendingApproval", note: `Plan approved for ${issue.identifier}. Ready for execution.` },
|
|
24
|
+
deps
|
|
25
|
+
);
|
|
26
|
+
await transitionIssueCommand(
|
|
27
|
+
{ issue, target: "Queued", note: `${issue.identifier} queued for execution after plan approval.` },
|
|
28
|
+
deps
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export {
|
|
33
|
+
approvePlanCommand
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=chunk-HOIOVUHI.js.map
|
|
@@ -2,22 +2,22 @@ import {
|
|
|
2
2
|
computeDiffStats,
|
|
3
3
|
removeTestWorkspace,
|
|
4
4
|
syncIssueDiffStatsToStore
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import {
|
|
7
|
-
computeMetrics
|
|
8
|
-
} from "./chunk-MVTGAKQK.js";
|
|
5
|
+
} from "./chunk-QH6VCTET.js";
|
|
9
6
|
import {
|
|
10
7
|
markIssueDirty
|
|
11
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PI7Y77R3.js";
|
|
12
9
|
import {
|
|
13
|
-
|
|
14
|
-
} from "./chunk-
|
|
10
|
+
computeMetrics
|
|
11
|
+
} from "./chunk-QHISYRXJ.js";
|
|
15
12
|
import {
|
|
16
13
|
S3DB_ISSUE_RESOURCE,
|
|
17
14
|
TERMINAL_STATES,
|
|
18
15
|
isoWeek,
|
|
19
16
|
now
|
|
20
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-VM5QAYP5.js";
|
|
18
|
+
import {
|
|
19
|
+
logger
|
|
20
|
+
} from "./chunk-PXTIWKLQ.js";
|
|
21
21
|
|
|
22
22
|
// src/agents/failure-analyzer.ts
|
|
23
23
|
function extractFilePaths(output) {
|
|
@@ -255,9 +255,9 @@ function emitFsmEvent(issueId, kind, message) {
|
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
257
|
if (kind === "state") {
|
|
258
|
-
import("./web-push-
|
|
258
|
+
import("./web-push-QCTLS7EJ.js").then(({ sendPushToAll, isWebPushReady, SETTING_ID_PUSH_SUBSCRIPTIONS }) => {
|
|
259
259
|
if (!isWebPushReady()) return;
|
|
260
|
-
import("./settings-
|
|
260
|
+
import("./settings-SOTIS6ZD.js").then(({ persistSetting }) => {
|
|
261
261
|
sendPushToAll(
|
|
262
262
|
{ title: "fifony", body: message, tag: issueId, url: "/kanban" },
|
|
263
263
|
async (subs) => {
|
|
@@ -355,7 +355,7 @@ var issueStateMachineConfig = {
|
|
|
355
355
|
entry: "onEnterBlocked"
|
|
356
356
|
},
|
|
357
357
|
Approved: {
|
|
358
|
-
on: { MERGE: "Merged", REOPEN: "Planning" },
|
|
358
|
+
on: { MERGE: "Merged", BLOCK: "Blocked", REOPEN: "Planning" },
|
|
359
359
|
entry: "onEnterApproved"
|
|
360
360
|
},
|
|
361
361
|
Merged: {
|
|
@@ -429,7 +429,6 @@ var issueStateMachineConfig = {
|
|
|
429
429
|
issue.lastFailedPhase = "review";
|
|
430
430
|
issue.attempts = (issue.attempts ?? 0) + 1;
|
|
431
431
|
} else if (event === "UNBLOCK") {
|
|
432
|
-
issue.attempts = (issue.attempts ?? 0) + 1;
|
|
433
432
|
}
|
|
434
433
|
if (issue.attempts > 0 && issue.lastError) {
|
|
435
434
|
let fullOutput = "";
|
|
@@ -511,6 +510,9 @@ var issueStateMachineConfig = {
|
|
|
511
510
|
const note = typeof context.note === "string" ? context.note : "Blocked";
|
|
512
511
|
if (issue) {
|
|
513
512
|
issue.lastError = note;
|
|
513
|
+
if (!issue.nextRetryAt && issue.attempts < issue.maxAttempts) {
|
|
514
|
+
issue.nextRetryAt = new Date(Date.now() + 3e4).toISOString();
|
|
515
|
+
}
|
|
514
516
|
emitFsmEvent(issue.id, "error", `${issue.identifier} blocked: ${note}`);
|
|
515
517
|
}
|
|
516
518
|
},
|
|
@@ -762,6 +764,11 @@ async function executeTransition(issue, event, context = {}) {
|
|
|
762
764
|
}
|
|
763
765
|
markDirtyAndInvalidate(issue.id);
|
|
764
766
|
triggerImmediatePersist();
|
|
767
|
+
try {
|
|
768
|
+
const { broadcastIssueTransition } = await import("./websocket-T2Y3BY4B.js");
|
|
769
|
+
broadcastIssueTransition(issue);
|
|
770
|
+
} catch {
|
|
771
|
+
}
|
|
765
772
|
return { previousState: previous };
|
|
766
773
|
}
|
|
767
774
|
async function getIssueTransitionHistory(issueId, options) {
|
|
@@ -823,4 +830,4 @@ export {
|
|
|
823
830
|
canTransitionIssue,
|
|
824
831
|
visualizeStateMachine
|
|
825
832
|
};
|
|
826
|
-
//# sourceMappingURL=chunk-
|
|
833
|
+
//# sourceMappingURL=chunk-JRLWLZOD.js.map
|