fifony 0.1.29 → 0.1.31
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-BF5KYX3E.js → KeyboardShortcutsHelp-3vwtTKsQ.js} +1 -1
- package/app/dist/assets/OnboardingWizard-urUin_Ob.js +1 -0
- package/app/dist/assets/{analytics.lazy-BlFXDncv.js → analytics.lazy-CbuW3ebu.js} +1 -1
- package/app/dist/assets/{index-ZlyvZ7KI.css → index-lf3jEP_3.css} +1 -1
- package/app/dist/assets/index-ywtlX6S8.js +45 -0
- package/app/dist/index.html +2 -2
- package/app/dist/service-worker.js +1 -1
- package/dist/agent/run-local.js +4 -4
- package/dist/{agent-FPUYBJZD.js → agent-OBLUHG2W.js} +5 -5
- package/dist/{chunk-3FCJI2GK.js → chunk-7AMUAUY5.js} +65 -39
- package/dist/{chunk-2G6SRDOC.js → chunk-CXFEPU5Q.js} +3 -3
- package/dist/{chunk-XVF6GOVS.js → chunk-IYAF3SY6.js} +2 -2
- package/dist/{chunk-VOQT7RVT.js → chunk-VUNMXX7N.js} +11 -11
- package/dist/cli.js +4 -4
- package/dist/{issue-runner-MRHO5ZAB.js → issue-runner-CI7IUBBD.js} +5 -5
- package/dist/{issue-state-machine-V2KPUYPW.js → issue-state-machine-ETAJLBS6.js} +3 -3
- package/dist/{issues-3PUMY63N.js → issues-6VCD27PA.js} +5 -5
- package/dist/{queue-workers-EGHCDDLB.js → queue-workers-IEI23UUO.js} +2 -2
- package/dist/{scheduler-V4GMCBTE.js → scheduler-JSH55NAQ.js} +5 -5
- package/dist/{store-RVKQ6UEY.js → store-MTE6H7WQ.js} +5 -5
- package/dist/{workspace-KEHFITYR.js → workspace-3PV5PTR5.js} +2 -2
- package/package.json +1 -1
- package/app/dist/assets/OnboardingWizard-Cweg4Ch0.js +0 -1
- package/app/dist/assets/index-CSquFPSf.js +0 -45
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-ywtlX6S8.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-D-IqxHHu.js">
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/assets/createLucideIcon-DgMTp0yx.js">
|
|
20
|
-
<link rel="stylesheet" crossorigin href="/assets/assets/index-
|
|
20
|
+
<link rel="stylesheet" crossorigin href="/assets/assets/index-lf3jEP_3.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 = "1774160943990";
|
|
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", "/settings", "/onboarding"];
|
package/dist/agent/run-local.js
CHANGED
|
@@ -23,10 +23,10 @@ import {
|
|
|
23
23
|
startApiServer,
|
|
24
24
|
syncRuntimeConfigSettings,
|
|
25
25
|
validateConfig
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-7AMUAUY5.js";
|
|
27
27
|
import {
|
|
28
28
|
computeMetrics
|
|
29
|
-
} from "../chunk-
|
|
29
|
+
} from "../chunk-CXFEPU5Q.js";
|
|
30
30
|
import {
|
|
31
31
|
detectAvailableProviders,
|
|
32
32
|
detectDefaultBranch,
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
getProviderDefaultCommand,
|
|
35
35
|
resolveDefaultProvider,
|
|
36
36
|
setSkipSource
|
|
37
|
-
} from "../chunk-
|
|
37
|
+
} from "../chunk-IYAF3SY6.js";
|
|
38
38
|
import {
|
|
39
39
|
debugBoot,
|
|
40
40
|
fail,
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
recoverOrphans,
|
|
48
48
|
recoverState,
|
|
49
49
|
stopQueueWorkers
|
|
50
|
-
} from "../chunk-
|
|
50
|
+
} from "../chunk-VUNMXX7N.js";
|
|
51
51
|
import {
|
|
52
52
|
initLogger,
|
|
53
53
|
logger
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
runIssueOnce,
|
|
16
16
|
runPlanningJob,
|
|
17
17
|
tryParseJsonOutput
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-7AMUAUY5.js";
|
|
19
|
+
import "./chunk-CXFEPU5Q.js";
|
|
20
20
|
import {
|
|
21
21
|
buildPrompt,
|
|
22
22
|
buildProviderBasePrompt,
|
|
@@ -33,9 +33,9 @@ import {
|
|
|
33
33
|
runCommandWithTimeout,
|
|
34
34
|
runHook,
|
|
35
35
|
shouldSkipMergePath
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-IYAF3SY6.js";
|
|
37
37
|
import "./chunk-O5AEQXUV.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-VUNMXX7N.js";
|
|
39
39
|
import "./chunk-DVU3CXWA.js";
|
|
40
40
|
import "./chunk-OONOOWNC.js";
|
|
41
41
|
export {
|
|
@@ -71,4 +71,4 @@ export {
|
|
|
71
71
|
shouldSkipMergePath,
|
|
72
72
|
tryParseJsonOutput
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=agent-
|
|
74
|
+
//# sourceMappingURL=agent-OBLUHG2W.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
snapshotAndClearDirtyEventIds,
|
|
22
22
|
snapshotAndClearDirtyIssueIds,
|
|
23
23
|
snapshotAndClearDirtyIssuePlanIds
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-CXFEPU5Q.js";
|
|
25
25
|
import {
|
|
26
26
|
ADAPTERS,
|
|
27
27
|
assertIssueHasGitWorktree,
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
resolveAgentCommand,
|
|
50
50
|
runCommandWithTimeout,
|
|
51
51
|
runHook
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-IYAF3SY6.js";
|
|
53
53
|
import {
|
|
54
54
|
appendFileTail,
|
|
55
55
|
clamp,
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
} from "./chunk-O5AEQXUV.js";
|
|
75
75
|
import {
|
|
76
76
|
enqueue
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-VUNMXX7N.js";
|
|
78
78
|
import {
|
|
79
79
|
logger
|
|
80
80
|
} from "./chunk-DVU3CXWA.js";
|
|
@@ -2774,6 +2774,34 @@ async function replanIssueCommand(input, deps) {
|
|
|
2774
2774
|
deps.eventStore.addEvent(issue.id, "manual", `Replan requested for ${issue.identifier} \u2014 now at plan v${issue.planVersion}.`);
|
|
2775
2775
|
}
|
|
2776
2776
|
|
|
2777
|
+
// src/commands/request-rework.command.ts
|
|
2778
|
+
async function requestReworkCommand(input, deps) {
|
|
2779
|
+
const { issue, reviewerFeedback, note } = input;
|
|
2780
|
+
if (issue.state !== "Reviewing" && issue.state !== "PendingDecision") {
|
|
2781
|
+
throw new Error(
|
|
2782
|
+
`requestReworkCommand requires Reviewing or PendingDecision state, got ${issue.state}.`
|
|
2783
|
+
);
|
|
2784
|
+
}
|
|
2785
|
+
issue.lastError = reviewerFeedback;
|
|
2786
|
+
issue.lastFailedPhase = "review";
|
|
2787
|
+
issue.attempts += 1;
|
|
2788
|
+
if (issue.state === "Reviewing") {
|
|
2789
|
+
await transitionIssueCommand(
|
|
2790
|
+
{ issue, target: "PendingDecision", note: `Reviewer completed for ${issue.identifier}.` },
|
|
2791
|
+
deps
|
|
2792
|
+
);
|
|
2793
|
+
}
|
|
2794
|
+
await transitionIssueCommand(
|
|
2795
|
+
{ issue, target: "Queued", note: note ?? `Reviewer requested rework for ${issue.identifier}.` },
|
|
2796
|
+
deps
|
|
2797
|
+
);
|
|
2798
|
+
deps.eventStore.addEvent(
|
|
2799
|
+
issue.id,
|
|
2800
|
+
"runner",
|
|
2801
|
+
`Issue ${issue.identifier} sent back for rework by reviewer.`
|
|
2802
|
+
);
|
|
2803
|
+
}
|
|
2804
|
+
|
|
2777
2805
|
// src/commands/merge-workspace.command.ts
|
|
2778
2806
|
import { existsSync as existsSync7 } from "fs";
|
|
2779
2807
|
import { execSync } from "child_process";
|
|
@@ -3014,8 +3042,9 @@ async function retryExecutionCommand(input, deps) {
|
|
|
3014
3042
|
`retryExecutionCommand requires Blocked state, got ${issue.state}. Use replanIssueCommand for re-planning or the generic /retry endpoint for other states.`
|
|
3015
3043
|
);
|
|
3016
3044
|
}
|
|
3045
|
+
issue.attempts += 1;
|
|
3017
3046
|
await transitionIssueCommand(
|
|
3018
|
-
{ issue, target: "Queued", note: note ?? `Retry execution for ${issue.identifier} (attempt ${issue.attempts
|
|
3047
|
+
{ issue, target: "Queued", note: note ?? `Retry execution for ${issue.identifier} (attempt ${issue.attempts}).` },
|
|
3019
3048
|
deps
|
|
3020
3049
|
);
|
|
3021
3050
|
deps.eventStore.addEvent(
|
|
@@ -3111,8 +3140,14 @@ function registerStateRoutes(app, state) {
|
|
|
3111
3140
|
if (!nextState) {
|
|
3112
3141
|
throw new Error(`Unsupported state: ${String(payload.state)}`);
|
|
3113
3142
|
}
|
|
3143
|
+
if (nextState === "Running" && issue.state !== "Queued") {
|
|
3144
|
+
return c.json({ ok: false, error: "Manual transition to Running is only supported from Queued." }, 400);
|
|
3145
|
+
}
|
|
3114
3146
|
const container = getContainer();
|
|
3115
3147
|
await transitionIssueCommand({ issue, target: nextState, note: `Manual state update: ${nextState}` }, container);
|
|
3148
|
+
if (nextState === "Running") {
|
|
3149
|
+
await enqueue(issue, "execute");
|
|
3150
|
+
}
|
|
3116
3151
|
if (nextState === "Cancelled" && payload.reason) {
|
|
3117
3152
|
issue.lastError = toStringValue(payload.reason);
|
|
3118
3153
|
}
|
|
@@ -3147,6 +3182,7 @@ function registerStateRoutes(app, state) {
|
|
|
3147
3182
|
container
|
|
3148
3183
|
);
|
|
3149
3184
|
} else if (issue.state === "Approved") {
|
|
3185
|
+
issue.attempts += 1;
|
|
3150
3186
|
await transitionIssueCommand(
|
|
3151
3187
|
{ issue, target: "Planning", note: "Requeued for rework after merge conflicts." },
|
|
3152
3188
|
container
|
|
@@ -3161,6 +3197,15 @@ function registerStateRoutes(app, state) {
|
|
|
3161
3197
|
container
|
|
3162
3198
|
);
|
|
3163
3199
|
}
|
|
3200
|
+
} else if (issue.state === "Reviewing" || issue.state === "PendingDecision") {
|
|
3201
|
+
await requestReworkCommand(
|
|
3202
|
+
{
|
|
3203
|
+
issue,
|
|
3204
|
+
reviewerFeedback: issue.lastError || "Manual rework request.",
|
|
3205
|
+
note: `Manual rework requested for ${issue.identifier}.`
|
|
3206
|
+
},
|
|
3207
|
+
container
|
|
3208
|
+
);
|
|
3164
3209
|
} else if (issue.state === "PendingApproval") {
|
|
3165
3210
|
await transitionIssueCommand(
|
|
3166
3211
|
{ issue, target: "Queued", note: "Manual retry \u2014 queued for execution." },
|
|
@@ -3229,7 +3274,7 @@ function registerStateRoutes(app, state) {
|
|
|
3229
3274
|
if (!issueId) return c.json({ ok: false, error: "Issue id is required." }, 400);
|
|
3230
3275
|
const issue = findIssue(state, issueId);
|
|
3231
3276
|
if (!issue) return c.json({ ok: false, error: "Issue not found." }, 404);
|
|
3232
|
-
const { dryMerge } = await import("./workspace-
|
|
3277
|
+
const { dryMerge } = await import("./workspace-3PV5PTR5.js");
|
|
3233
3278
|
const result = dryMerge(issue);
|
|
3234
3279
|
return c.json({ ok: true, ...result });
|
|
3235
3280
|
} catch (error) {
|
|
@@ -3244,7 +3289,7 @@ function registerStateRoutes(app, state) {
|
|
|
3244
3289
|
if (!issueId) return c.json({ ok: false, error: "Issue id is required." }, 400);
|
|
3245
3290
|
const issue = findIssue(state, issueId);
|
|
3246
3291
|
if (!issue) return c.json({ ok: false, error: "Issue not found." }, 404);
|
|
3247
|
-
const { rebaseWorktree } = await import("./workspace-
|
|
3292
|
+
const { rebaseWorktree } = await import("./workspace-3PV5PTR5.js");
|
|
3248
3293
|
const result = rebaseWorktree(issue);
|
|
3249
3294
|
if (result.success) {
|
|
3250
3295
|
addEvent(state, issue.id, "info", `Branch ${issue.branchName} rebased onto ${issue.baseBranch}.`);
|
|
@@ -3376,7 +3421,7 @@ function registerStateRoutes(app, state) {
|
|
|
3376
3421
|
const issue = findIssue(state, issueId);
|
|
3377
3422
|
if (!issue) return c.json({ ok: false, error: "Issue not found." }, 404);
|
|
3378
3423
|
try {
|
|
3379
|
-
const { getIssueTransitionHistory } = await import("./issue-state-machine-
|
|
3424
|
+
const { getIssueTransitionHistory } = await import("./issue-state-machine-ETAJLBS6.js");
|
|
3380
3425
|
const limit = parseInt(c.req.query("limit") ?? "50", 10);
|
|
3381
3426
|
const offset = parseInt(c.req.query("offset") ?? "0", 10);
|
|
3382
3427
|
const transitions = await getIssueTransitionHistory(issue.id, { limit, offset });
|
|
@@ -3387,7 +3432,7 @@ function registerStateRoutes(app, state) {
|
|
|
3387
3432
|
});
|
|
3388
3433
|
app.get("/api/state-machine/transitions", async (c) => {
|
|
3389
3434
|
try {
|
|
3390
|
-
const { getStateMachineTransitions } = await import("./issue-state-machine-
|
|
3435
|
+
const { getStateMachineTransitions } = await import("./issue-state-machine-ETAJLBS6.js");
|
|
3391
3436
|
return c.json({ ok: true, transitions: getStateMachineTransitions() });
|
|
3392
3437
|
} catch (error) {
|
|
3393
3438
|
return c.json({ ok: false, error: error instanceof Error ? error.message : String(error) }, 500);
|
|
@@ -3395,7 +3440,7 @@ function registerStateRoutes(app, state) {
|
|
|
3395
3440
|
});
|
|
3396
3441
|
app.get("/api/state-machine/visualize", async (c) => {
|
|
3397
3442
|
try {
|
|
3398
|
-
const { visualizeStateMachine } = await import("./issue-state-machine-
|
|
3443
|
+
const { visualizeStateMachine } = await import("./issue-state-machine-ETAJLBS6.js");
|
|
3399
3444
|
const dot = visualizeStateMachine();
|
|
3400
3445
|
if (!dot) return c.json({ ok: false, error: "Visualization not available." }, 404);
|
|
3401
3446
|
return c.json({ ok: true, dot });
|
|
@@ -7276,6 +7321,7 @@ async function handleStatePatch(state, issue, payload) {
|
|
|
7276
7321
|
if (!nextState || !ALLOWED_STATES.includes(nextState)) {
|
|
7277
7322
|
throw new Error(`Unsupported state: ${String(payload.state)}`);
|
|
7278
7323
|
}
|
|
7324
|
+
const sourceState = issue.state;
|
|
7279
7325
|
const path = findIssueStateMachineTransitionPath(null, issue.state, nextState);
|
|
7280
7326
|
if (!path || path.length === 0) {
|
|
7281
7327
|
throw new Error(`No valid transition from '${issue.state}' to '${nextState}' for issue ${issue.id}.`);
|
|
@@ -7283,6 +7329,14 @@ async function handleStatePatch(state, issue, payload) {
|
|
|
7283
7329
|
for (const event of path) {
|
|
7284
7330
|
await transitionIssue(issue, event, { note: `Manual state update: ${nextState}`, reason: toStringValue(payload.reason) });
|
|
7285
7331
|
}
|
|
7332
|
+
if (nextState === "Running" && sourceState === "Queued") {
|
|
7333
|
+
try {
|
|
7334
|
+
const { enqueue: enqueue2 } = await import("./queue-workers-IEI23UUO.js");
|
|
7335
|
+
await enqueue2(issue, "execute");
|
|
7336
|
+
} catch (error) {
|
|
7337
|
+
logger.warn({ issueId: issue.id, err: error }, "[Issues] Failed to enqueue after manual Running transition");
|
|
7338
|
+
}
|
|
7339
|
+
}
|
|
7286
7340
|
if (nextState === "PendingApproval") {
|
|
7287
7341
|
issue.nextRetryAt = void 0;
|
|
7288
7342
|
issue.lastError = void 0;
|
|
@@ -7293,34 +7347,6 @@ async function handleStatePatch(state, issue, payload) {
|
|
|
7293
7347
|
addEvent(state, issue.id, "manual", `Manual state transition to ${nextState}`);
|
|
7294
7348
|
}
|
|
7295
7349
|
|
|
7296
|
-
// src/commands/request-rework.command.ts
|
|
7297
|
-
async function requestReworkCommand(input, deps) {
|
|
7298
|
-
const { issue, reviewerFeedback, note } = input;
|
|
7299
|
-
if (issue.state !== "Reviewing" && issue.state !== "PendingDecision") {
|
|
7300
|
-
throw new Error(
|
|
7301
|
-
`requestReworkCommand requires Reviewing or PendingDecision state, got ${issue.state}.`
|
|
7302
|
-
);
|
|
7303
|
-
}
|
|
7304
|
-
issue.lastError = reviewerFeedback;
|
|
7305
|
-
issue.lastFailedPhase = "review";
|
|
7306
|
-
issue.attempts += 1;
|
|
7307
|
-
if (issue.state === "Reviewing") {
|
|
7308
|
-
await transitionIssueCommand(
|
|
7309
|
-
{ issue, target: "PendingDecision", note: `Reviewer completed for ${issue.identifier}.` },
|
|
7310
|
-
deps
|
|
7311
|
-
);
|
|
7312
|
-
}
|
|
7313
|
-
await transitionIssueCommand(
|
|
7314
|
-
{ issue, target: "Queued", note: note ?? `Reviewer requested rework for ${issue.identifier}.` },
|
|
7315
|
-
deps
|
|
7316
|
-
);
|
|
7317
|
-
deps.eventStore.addEvent(
|
|
7318
|
-
issue.id,
|
|
7319
|
-
"runner",
|
|
7320
|
-
`Issue ${issue.identifier} sent back for rework by reviewer.`
|
|
7321
|
-
);
|
|
7322
|
-
}
|
|
7323
|
-
|
|
7324
7350
|
// src/agents/issue-runner.ts
|
|
7325
7351
|
async function runPlanningJob(state, issue) {
|
|
7326
7352
|
issue.planningStatus = "planning";
|
|
@@ -7566,7 +7592,7 @@ async function runIssueOnce(state, issue, running) {
|
|
|
7566
7592
|
const { workspacePath, promptText, promptFile } = await prepareWorkspace(issue, state, state.config.defaultBranch);
|
|
7567
7593
|
container.issueRepository.markDirty(issue.id);
|
|
7568
7594
|
try {
|
|
7569
|
-
const { getIssueStateResource: getIssueStateResource2 } = await import("./store-
|
|
7595
|
+
const { getIssueStateResource: getIssueStateResource2 } = await import("./store-MTE6H7WQ.js");
|
|
7570
7596
|
const res = getIssueStateResource2();
|
|
7571
7597
|
if (res) {
|
|
7572
7598
|
await res.patch(issue.id, {
|
|
@@ -7678,4 +7704,4 @@ export {
|
|
|
7678
7704
|
syncReferenceRepositories,
|
|
7679
7705
|
importReferenceArtifacts
|
|
7680
7706
|
};
|
|
7681
|
-
//# sourceMappingURL=chunk-
|
|
7707
|
+
//# sourceMappingURL=chunk-7AMUAUY5.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
computeDiffStats
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IYAF3SY6.js";
|
|
4
4
|
import {
|
|
5
5
|
isoWeek,
|
|
6
6
|
now
|
|
@@ -323,7 +323,7 @@ function emitFsmEvent(issueId, kind, message) {
|
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
325
|
async function lazyEnqueue(issue, job) {
|
|
326
|
-
const { enqueue } = await import("./queue-workers-
|
|
326
|
+
const { enqueue } = await import("./queue-workers-IEI23UUO.js");
|
|
327
327
|
return enqueue(issue, job);
|
|
328
328
|
}
|
|
329
329
|
var ISSUE_STATE_MACHINE_ID = "issue-lifecycle";
|
|
@@ -844,4 +844,4 @@ export {
|
|
|
844
844
|
canTransitionIssue,
|
|
845
845
|
visualizeStateMachine
|
|
846
846
|
};
|
|
847
|
-
//# sourceMappingURL=chunk-
|
|
847
|
+
//# sourceMappingURL=chunk-CXFEPU5Q.js.map
|
|
@@ -1550,7 +1550,7 @@ function parseDiffStats(issue, raw) {
|
|
|
1550
1550
|
}
|
|
1551
1551
|
async function syncIssueDiffStatsToStore(issue) {
|
|
1552
1552
|
if (!issue?.id) return;
|
|
1553
|
-
const { getIssueStateResource } = await import("./store-
|
|
1553
|
+
const { getIssueStateResource } = await import("./store-MTE6H7WQ.js");
|
|
1554
1554
|
const issueResource = getIssueStateResource();
|
|
1555
1555
|
if (!issueResource) return;
|
|
1556
1556
|
const toNumber = (value) => {
|
|
@@ -1811,4 +1811,4 @@ export {
|
|
|
1811
1811
|
hydrateIssuePathsFromWorkspace,
|
|
1812
1812
|
writeVersionedArtifacts
|
|
1813
1813
|
};
|
|
1814
|
-
//# sourceMappingURL=chunk-
|
|
1814
|
+
//# sourceMappingURL=chunk-IYAF3SY6.js.map
|
|
@@ -26,7 +26,7 @@ async function initQueueWorkers(state) {
|
|
|
26
26
|
}, 3e4);
|
|
27
27
|
persistInterval = setInterval(() => {
|
|
28
28
|
if (!active || !runtimeState) return;
|
|
29
|
-
import("./store-
|
|
29
|
+
import("./store-MTE6H7WQ.js").then(
|
|
30
30
|
({ persistState }) => persistState(runtimeState).catch(() => {
|
|
31
31
|
})
|
|
32
32
|
).catch(() => {
|
|
@@ -116,11 +116,11 @@ function sortQueue() {
|
|
|
116
116
|
}
|
|
117
117
|
async function dispatchPlan(issue) {
|
|
118
118
|
logger.info({ issueId: issue.id, identifier: issue.identifier }, "[Queue] Dispatching plan job");
|
|
119
|
-
const { runPlanningJob } = await import("./issue-runner-
|
|
119
|
+
const { runPlanningJob } = await import("./issue-runner-CI7IUBBD.js");
|
|
120
120
|
await runPlanningJob(runtimeState, issue);
|
|
121
121
|
}
|
|
122
122
|
async function dispatchExecute(issue) {
|
|
123
|
-
const { runIssueOnce } = await import("./issue-runner-
|
|
123
|
+
const { runIssueOnce } = await import("./issue-runner-CI7IUBBD.js");
|
|
124
124
|
while (active && runtimeState) {
|
|
125
125
|
const current = getCurrentIssue(issue.id);
|
|
126
126
|
if (!current || current.state !== "Queued" && current.state !== "Running") break;
|
|
@@ -130,12 +130,12 @@ async function dispatchExecute(issue) {
|
|
|
130
130
|
}
|
|
131
131
|
async function dispatchReview(issue) {
|
|
132
132
|
logger.info({ issueId: issue.id, identifier: issue.identifier }, "[Queue] Dispatching review job");
|
|
133
|
-
const { runIssueOnce } = await import("./issue-runner-
|
|
133
|
+
const { runIssueOnce } = await import("./issue-runner-CI7IUBBD.js");
|
|
134
134
|
await runIssueOnce(runtimeState, issue, running);
|
|
135
135
|
}
|
|
136
136
|
async function checkStaleIssues() {
|
|
137
137
|
if (!runtimeState) return;
|
|
138
|
-
const { ensureNotStale } = await import("./scheduler-
|
|
138
|
+
const { ensureNotStale } = await import("./scheduler-JSH55NAQ.js");
|
|
139
139
|
await ensureNotStale(runtimeState, runtimeState.config.staleInProgressTimeoutMs);
|
|
140
140
|
}
|
|
141
141
|
var draining = false;
|
|
@@ -186,7 +186,7 @@ async function enqueue(issue, job) {
|
|
|
186
186
|
async function recoverState() {
|
|
187
187
|
if (!runtimeState) return;
|
|
188
188
|
try {
|
|
189
|
-
const { getIssueStateMachinePlugin, ISSUE_STATE_MACHINE_ID } = await import("./issue-state-machine-
|
|
189
|
+
const { getIssueStateMachinePlugin, ISSUE_STATE_MACHINE_ID } = await import("./issue-state-machine-ETAJLBS6.js");
|
|
190
190
|
const fsmPlugin = getIssueStateMachinePlugin();
|
|
191
191
|
if (fsmPlugin?.getState) {
|
|
192
192
|
for (const issue of runtimeState.issues) {
|
|
@@ -218,9 +218,9 @@ async function recoverState() {
|
|
|
218
218
|
}
|
|
219
219
|
async function recoverOrphans() {
|
|
220
220
|
if (!runtimeState) return;
|
|
221
|
-
const { isAgentStillRunning, cleanStalePidFile } = await import("./agent-
|
|
222
|
-
const { executeTransition } = await import("./issue-state-machine-
|
|
223
|
-
const { addEvent } = await import("./issues-
|
|
221
|
+
const { isAgentStillRunning, cleanStalePidFile } = await import("./agent-OBLUHG2W.js");
|
|
222
|
+
const { executeTransition } = await import("./issue-state-machine-ETAJLBS6.js");
|
|
223
|
+
const { addEvent } = await import("./issues-6VCD27PA.js");
|
|
224
224
|
const candidates = runtimeState.issues.filter((i) => i.state === "Running" || i.state === "Queued");
|
|
225
225
|
logger.debug({ count: candidates.length }, "[Queue] Checking for orphaned agent processes");
|
|
226
226
|
for (const issue of candidates) {
|
|
@@ -258,7 +258,7 @@ function cleanTerminalWorkspaces() {
|
|
|
258
258
|
logger.info({ count: terminals.length }, "[Queue] Scheduling terminal workspace cleanup in background");
|
|
259
259
|
const state = runtimeState;
|
|
260
260
|
setImmediate(async () => {
|
|
261
|
-
const { cleanWorkspace } = await import("./agent-
|
|
261
|
+
const { cleanWorkspace } = await import("./agent-OBLUHG2W.js");
|
|
262
262
|
for (const issue of terminals) {
|
|
263
263
|
try {
|
|
264
264
|
await cleanWorkspace(issue.id, issue, state);
|
|
@@ -292,4 +292,4 @@ export {
|
|
|
292
292
|
cleanTerminalWorkspaces,
|
|
293
293
|
getQueueStats
|
|
294
294
|
};
|
|
295
|
-
//# sourceMappingURL=chunk-
|
|
295
|
+
//# sourceMappingURL=chunk-VUNMXX7N.js.map
|
package/dist/cli.js
CHANGED
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
importReferenceArtifacts,
|
|
4
4
|
listReferenceRepositories,
|
|
5
5
|
syncReferenceRepositories
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-7AMUAUY5.js";
|
|
7
|
+
import "./chunk-CXFEPU5Q.js";
|
|
8
|
+
import "./chunk-IYAF3SY6.js";
|
|
9
9
|
import "./chunk-O5AEQXUV.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-VUNMXX7N.js";
|
|
11
11
|
import "./chunk-DVU3CXWA.js";
|
|
12
12
|
import "./chunk-OONOOWNC.js";
|
|
13
13
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runIssueOnce,
|
|
3
3
|
runPlanningJob
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-7AMUAUY5.js";
|
|
5
|
+
import "./chunk-CXFEPU5Q.js";
|
|
6
|
+
import "./chunk-IYAF3SY6.js";
|
|
7
7
|
import "./chunk-O5AEQXUV.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-VUNMXX7N.js";
|
|
9
9
|
import "./chunk-DVU3CXWA.js";
|
|
10
10
|
import "./chunk-OONOOWNC.js";
|
|
11
11
|
export {
|
|
12
12
|
runIssueOnce,
|
|
13
13
|
runPlanningJob
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=issue-runner-
|
|
15
|
+
//# sourceMappingURL=issue-runner-CI7IUBBD.js.map
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
setIssueResourceStateApi,
|
|
16
16
|
setIssueStateMachinePlugin,
|
|
17
17
|
visualizeStateMachine
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-CXFEPU5Q.js";
|
|
19
|
+
import "./chunk-IYAF3SY6.js";
|
|
20
20
|
import "./chunk-O5AEQXUV.js";
|
|
21
21
|
import "./chunk-DVU3CXWA.js";
|
|
22
22
|
import "./chunk-OONOOWNC.js";
|
|
@@ -38,4 +38,4 @@ export {
|
|
|
38
38
|
setIssueStateMachinePlugin,
|
|
39
39
|
visualizeStateMachine
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=issue-state-machine-
|
|
41
|
+
//# sourceMappingURL=issue-state-machine-ETAJLBS6.js.map
|
|
@@ -12,13 +12,13 @@ import {
|
|
|
12
12
|
normalizeIssue,
|
|
13
13
|
transitionIssue,
|
|
14
14
|
validateConfig
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-7AMUAUY5.js";
|
|
16
16
|
import {
|
|
17
17
|
computeMetrics
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-CXFEPU5Q.js";
|
|
19
|
+
import "./chunk-IYAF3SY6.js";
|
|
20
20
|
import "./chunk-O5AEQXUV.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-VUNMXX7N.js";
|
|
22
22
|
import "./chunk-DVU3CXWA.js";
|
|
23
23
|
import "./chunk-OONOOWNC.js";
|
|
24
24
|
export {
|
|
@@ -37,4 +37,4 @@ export {
|
|
|
37
37
|
transitionIssue,
|
|
38
38
|
validateConfig
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=issues-
|
|
40
|
+
//# sourceMappingURL=issues-6VCD27PA.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
recoverOrphans,
|
|
8
8
|
recoverState,
|
|
9
9
|
stopQueueWorkers
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VUNMXX7N.js";
|
|
11
11
|
import "./chunk-DVU3CXWA.js";
|
|
12
12
|
import "./chunk-OONOOWNC.js";
|
|
13
13
|
export {
|
|
@@ -20,4 +20,4 @@ export {
|
|
|
20
20
|
recoverState,
|
|
21
21
|
stopQueueWorkers
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=queue-workers-
|
|
23
|
+
//# sourceMappingURL=queue-workers-IEI23UUO.js.map
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
hasTerminalQueue,
|
|
5
5
|
installGracefulShutdown,
|
|
6
6
|
isShuttingDown
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-7AMUAUY5.js";
|
|
8
|
+
import "./chunk-CXFEPU5Q.js";
|
|
9
|
+
import "./chunk-IYAF3SY6.js";
|
|
10
10
|
import "./chunk-O5AEQXUV.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-VUNMXX7N.js";
|
|
12
12
|
import "./chunk-DVU3CXWA.js";
|
|
13
13
|
import "./chunk-OONOOWNC.js";
|
|
14
14
|
export {
|
|
@@ -18,4 +18,4 @@ export {
|
|
|
18
18
|
installGracefulShutdown,
|
|
19
19
|
isShuttingDown
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=scheduler-
|
|
21
|
+
//# sourceMappingURL=scheduler-JSH55NAQ.js.map
|
|
@@ -18,16 +18,16 @@ import {
|
|
|
18
18
|
persistStateFull,
|
|
19
19
|
replacePersistedSetting,
|
|
20
20
|
setActiveApiPlugin
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-7AMUAUY5.js";
|
|
22
22
|
import {
|
|
23
23
|
hasDirtyState,
|
|
24
24
|
markEventDirty,
|
|
25
25
|
markIssueDirty,
|
|
26
26
|
markIssuePlanDirty
|
|
27
|
-
} from "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
} from "./chunk-CXFEPU5Q.js";
|
|
28
|
+
import "./chunk-IYAF3SY6.js";
|
|
29
29
|
import "./chunk-O5AEQXUV.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-VUNMXX7N.js";
|
|
31
31
|
import "./chunk-DVU3CXWA.js";
|
|
32
32
|
import "./chunk-OONOOWNC.js";
|
|
33
33
|
export {
|
|
@@ -55,4 +55,4 @@ export {
|
|
|
55
55
|
replacePersistedSetting,
|
|
56
56
|
setActiveApiPlugin
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=store-
|
|
58
|
+
//# sourceMappingURL=store-MTE6H7WQ.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
shouldSkipMergePath,
|
|
22
22
|
syncIssueDiffStatsToStore,
|
|
23
23
|
writeVersionedArtifacts
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-IYAF3SY6.js";
|
|
25
25
|
import "./chunk-O5AEQXUV.js";
|
|
26
26
|
import "./chunk-DVU3CXWA.js";
|
|
27
27
|
import "./chunk-OONOOWNC.js";
|
|
@@ -49,4 +49,4 @@ export {
|
|
|
49
49
|
syncIssueDiffStatsToStore,
|
|
50
50
|
writeVersionedArtifacts
|
|
51
51
|
};
|
|
52
|
-
//# sourceMappingURL=workspace-
|
|
52
|
+
//# sourceMappingURL=workspace-3PV5PTR5.js.map
|