fifony 0.1.39 → 0.1.40

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.
Files changed (27) hide show
  1. package/app/dist/assets/{CommandPalette--xFIYira.js → CommandPalette-dMSFpGLm.js} +1 -1
  2. package/app/dist/assets/{KeyboardShortcutsHelp-BtrclGbX.js → KeyboardShortcutsHelp-CH5aYlDe.js} +1 -1
  3. package/app/dist/assets/{OnboardingWizard-AdxAh1n0.js → OnboardingWizard-CdJHsRny.js} +1 -1
  4. package/app/dist/assets/{analytics.lazy-DaMIOiTI.js → analytics.lazy-CKu4136R.js} +1 -1
  5. package/app/dist/assets/{index-BWB0OQnx.css → index-BatA8x-K.css} +1 -1
  6. package/app/dist/assets/index-C13WwYFD.js +54 -0
  7. package/app/dist/index.html +2 -2
  8. package/app/dist/service-worker.js +1 -1
  9. package/dist/agent/run-local.js +5 -5
  10. package/dist/{agent-AAT7OHAL.js → agent-KDPOZCI5.js} +6 -6
  11. package/dist/{chunk-AVSRIV47.js → chunk-3QL4QAQ5.js} +22 -14
  12. package/dist/{chunk-T2YJOZ6N.js → chunk-EPY5TTQK.js} +6 -29
  13. package/dist/{chunk-DWMY2HBG.js → chunk-LYAI5RPK.js} +428 -145
  14. package/dist/{chunk-UNYIR5AK.js → chunk-O3FGX4J6.js} +29 -13
  15. package/dist/{chunk-WBOBY75G.js → chunk-UXXUTDGV.js} +3 -3
  16. package/dist/cli.js +5 -5
  17. package/dist/issue-runner-YZM6WQMY.js +15 -0
  18. package/dist/{issue-state-machine-TEIICCAA.js → issue-state-machine-KOZE5JWX.js} +4 -4
  19. package/dist/{issues-JPMKO2EE.js → issues-7HQC7OIN.js} +6 -6
  20. package/dist/mcp/server.js +1 -1
  21. package/dist/{queue-workers-5JOCROD6.js → queue-workers-ZEZHDX7M.js} +2 -2
  22. package/dist/{scheduler-GAO2MXGZ.js → scheduler-4R4ZAF25.js} +6 -6
  23. package/dist/{store-3YSID6N2.js → store-FNUWCFOX.js} +6 -6
  24. package/dist/{workspace-ZD5H6YOL.js → workspace-AOHHNWL5.js} +3 -3
  25. package/package.json +1 -1
  26. package/app/dist/assets/index-D5rsr1We.js +0 -54
  27. package/dist/issue-runner-JSHZGTKQ.js +0 -15
@@ -6,7 +6,7 @@ import {
6
6
  idToSafePath,
7
7
  now,
8
8
  renderPrompt
9
- } from "./chunk-T2YJOZ6N.js";
9
+ } from "./chunk-EPY5TTQK.js";
10
10
  import {
11
11
  SOURCE_MARKER,
12
12
  SOURCE_ROOT,
@@ -278,7 +278,11 @@ var CLAUDE_RESULT_SCHEMA = JSON.stringify({
278
278
  properties: {
279
279
  status: { type: "string", enum: ["done", "continue", "blocked", "failed"] },
280
280
  summary: { type: "string" },
281
- nextPrompt: { type: "string" }
281
+ nextPrompt: { type: "string" },
282
+ tools_used: { type: "array", items: { type: "string" } },
283
+ skills_used: { type: "array", items: { type: "string" } },
284
+ agents_used: { type: "array", items: { type: "string" } },
285
+ commands_run: { type: "array", items: { type: "string" } }
282
286
  },
283
287
  required: ["status"]
284
288
  });
@@ -951,7 +955,11 @@ Return a JSON object with this exact schema when finished:
951
955
  "validation": { "commands_run": ["..."], "result": "pass" | "partial" | "fail" },
952
956
  "open_questions": ["..."],
953
957
  "followups": ["..."],
954
- "nextPrompt": "guidance for next turn if status is continue"
958
+ "nextPrompt": "guidance for next turn if status is continue",
959
+ "tools_used": ["list of tools you used, e.g. Read, Write, Edit, Bash, Grep, Glob"],
960
+ "skills_used": ["list of slash commands you invoked, e.g. /commit, /review-pr"],
961
+ "agents_used": ["list of subagents you spawned, e.g. code-reviewer, build-error-resolver"],
962
+ "commands_run": ["list of shell commands you executed, e.g. npm test, git status"]
955
963
  }
956
964
  `.trim();
957
965
  function buildCodexCommand(options) {
@@ -1066,7 +1074,11 @@ Return a JSON object with this exact schema when finished:
1066
1074
  "validation": { "commands_run": ["..."], "result": "pass" | "partial" | "fail" },
1067
1075
  "open_questions": ["..."],
1068
1076
  "followups": ["..."],
1069
- "nextPrompt": "guidance for next turn if status is continue"
1077
+ "nextPrompt": "guidance for next turn if status is continue",
1078
+ "tools_used": ["list of tools you used, e.g. Read, Write, Edit, Bash, Grep, Glob"],
1079
+ "skills_used": ["list of slash commands you invoked, e.g. /commit, /review-pr"],
1080
+ "agents_used": ["list of subagents you spawned, e.g. code-reviewer, build-error-resolver"],
1081
+ "commands_run": ["list of shell commands you executed, e.g. npm test, git status"]
1070
1082
  }
1071
1083
  `.trim();
1072
1084
  function buildGeminiCommand(options) {
@@ -2118,7 +2130,7 @@ function parseDiffStats(issue, raw) {
2118
2130
  }
2119
2131
  async function syncIssueDiffStatsToStore(issue) {
2120
2132
  if (!issue?.id) return;
2121
- const { getIssueStateResource } = await import("./store-3YSID6N2.js");
2133
+ const { getIssueStateResource } = await import("./store-FNUWCFOX.js");
2122
2134
  const issueResource = getIssueStateResource();
2123
2135
  if (!issueResource) return;
2124
2136
  const toNumber = (value) => {
@@ -2187,7 +2199,7 @@ function ensureWorktreeCommitted(issue) {
2187
2199
  throw new Error(`Worktree for ${issue.identifier} still has uncommitted changes after commit.`);
2188
2200
  }
2189
2201
  }
2190
- function mergeWorktree(issue, worktreePath) {
2202
+ function mergeWorktree(issue, worktreePath, abortOnConflict = true) {
2191
2203
  const result = { copied: [], deleted: [], skipped: [], conflicts: [] };
2192
2204
  ensureWorktreeCommitted(issue);
2193
2205
  const currentBranch = execSync("git rev-parse --abbrev-ref HEAD", { cwd: TARGET_ROOT, encoding: "utf8" }).trim();
@@ -2225,11 +2237,15 @@ function mergeWorktree(issue, worktreePath) {
2225
2237
  result.conflicts.push(...conflictOut.trim().split("\n").filter(Boolean));
2226
2238
  } catch {
2227
2239
  }
2228
- try {
2229
- execSync("git merge --abort", { cwd: TARGET_ROOT, stdio: "pipe" });
2230
- } catch {
2240
+ if (abortOnConflict) {
2241
+ try {
2242
+ execSync("git merge --abort", { cwd: TARGET_ROOT, stdio: "pipe" });
2243
+ } catch {
2244
+ }
2245
+ logger.warn({ issueId: issue.id, err: String(err) }, "[Agent] Git merge failed, aborted");
2246
+ } else {
2247
+ logger.info({ issueId: issue.id, conflicts: result.conflicts }, "[Agent] Git merge has conflicts \u2014 leaving markers for agent resolution");
2231
2248
  }
2232
- logger.warn({ issueId: issue.id, err: String(err) }, "[Agent] Git merge failed, aborted");
2233
2249
  }
2234
2250
  return result;
2235
2251
  }
@@ -2241,10 +2257,10 @@ function shouldSkipMergePath(relativePath) {
2241
2257
  const base = parts.at(-1) ?? "";
2242
2258
  return base === "WORKFLOW.local.md" || base === ".fifony-env.sh" || base === ".fifony-compiled-env.sh" || base === ".fifony-local-source-ready" || base.startsWith("fifony-") || base.startsWith("fifony_");
2243
2259
  }
2244
- function mergeWorkspace(issue) {
2260
+ function mergeWorkspace(issue, abortOnConflict = true) {
2245
2261
  ensureGitRepoReadyForWorktrees(TARGET_ROOT, "merge issues");
2246
2262
  assertIssueHasGitWorktree(issue, "merge");
2247
- return mergeWorktree(issue, issue.worktreePath);
2263
+ return mergeWorktree(issue, issue.worktreePath, abortOnConflict);
2248
2264
  }
2249
2265
  function dryMerge(issue) {
2250
2266
  ensureGitRepoReadyForWorktrees(TARGET_ROOT, "preview merges");
@@ -2381,4 +2397,4 @@ export {
2381
2397
  hydrateIssuePathsFromWorkspace,
2382
2398
  writeVersionedArtifacts
2383
2399
  };
2384
- //# sourceMappingURL=chunk-UNYIR5AK.js.map
2400
+ //# sourceMappingURL=chunk-O3FGX4J6.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  computeDiffStats,
3
3
  syncIssueDiffStatsToStore
4
- } from "./chunk-UNYIR5AK.js";
4
+ } from "./chunk-O3FGX4J6.js";
5
5
  import {
6
6
  logger
7
7
  } from "./chunk-DVU3CXWA.js";
8
8
  import {
9
9
  isoWeek,
10
10
  now
11
- } from "./chunk-T2YJOZ6N.js";
11
+ } from "./chunk-EPY5TTQK.js";
12
12
  import {
13
13
  S3DB_ISSUE_RESOURCE,
14
14
  TARGET_ROOT,
@@ -875,4 +875,4 @@ export {
875
875
  canTransitionIssue,
876
876
  visualizeStateMachine
877
877
  };
878
- //# sourceMappingURL=chunk-WBOBY75G.js.map
878
+ //# sourceMappingURL=chunk-UXXUTDGV.js.map
package/dist/cli.js CHANGED
@@ -3,12 +3,12 @@ import {
3
3
  importReferenceArtifacts,
4
4
  listReferenceRepositories,
5
5
  syncReferenceRepositories
6
- } from "./chunk-DWMY2HBG.js";
7
- import "./chunk-AVSRIV47.js";
8
- import "./chunk-WBOBY75G.js";
9
- import "./chunk-UNYIR5AK.js";
6
+ } from "./chunk-LYAI5RPK.js";
7
+ import "./chunk-3QL4QAQ5.js";
8
+ import "./chunk-UXXUTDGV.js";
9
+ import "./chunk-O3FGX4J6.js";
10
10
  import "./chunk-DVU3CXWA.js";
11
- import "./chunk-T2YJOZ6N.js";
11
+ import "./chunk-EPY5TTQK.js";
12
12
  import "./chunk-37N5OFHM.js";
13
13
 
14
14
  // src/cli.ts
@@ -0,0 +1,15 @@
1
+ import {
2
+ runIssueOnce,
3
+ runPlanningJob
4
+ } from "./chunk-LYAI5RPK.js";
5
+ import "./chunk-3QL4QAQ5.js";
6
+ import "./chunk-UXXUTDGV.js";
7
+ import "./chunk-O3FGX4J6.js";
8
+ import "./chunk-DVU3CXWA.js";
9
+ import "./chunk-EPY5TTQK.js";
10
+ import "./chunk-37N5OFHM.js";
11
+ export {
12
+ runIssueOnce,
13
+ runPlanningJob
14
+ };
15
+ //# sourceMappingURL=issue-runner-YZM6WQMY.js.map
@@ -16,10 +16,10 @@ import {
16
16
  setIssueResourceStateApi,
17
17
  setIssueStateMachinePlugin,
18
18
  visualizeStateMachine
19
- } from "./chunk-WBOBY75G.js";
20
- import "./chunk-UNYIR5AK.js";
19
+ } from "./chunk-UXXUTDGV.js";
20
+ import "./chunk-O3FGX4J6.js";
21
21
  import "./chunk-DVU3CXWA.js";
22
- import "./chunk-T2YJOZ6N.js";
22
+ import "./chunk-EPY5TTQK.js";
23
23
  import "./chunk-37N5OFHM.js";
24
24
  export {
25
25
  ISSUE_STATE_MACHINE_ID,
@@ -40,4 +40,4 @@ export {
40
40
  setIssueStateMachinePlugin,
41
41
  visualizeStateMachine
42
42
  };
43
- //# sourceMappingURL=issue-state-machine-TEIICCAA.js.map
43
+ //# sourceMappingURL=issue-state-machine-KOZE5JWX.js.map
@@ -11,14 +11,14 @@ import {
11
11
  normalizeIssue,
12
12
  transitionIssue,
13
13
  validateConfig
14
- } from "./chunk-DWMY2HBG.js";
15
- import "./chunk-AVSRIV47.js";
14
+ } from "./chunk-LYAI5RPK.js";
15
+ import "./chunk-3QL4QAQ5.js";
16
16
  import {
17
17
  computeMetrics
18
- } from "./chunk-WBOBY75G.js";
19
- import "./chunk-UNYIR5AK.js";
18
+ } from "./chunk-UXXUTDGV.js";
19
+ import "./chunk-O3FGX4J6.js";
20
20
  import "./chunk-DVU3CXWA.js";
21
- import "./chunk-T2YJOZ6N.js";
21
+ import "./chunk-EPY5TTQK.js";
22
22
  import "./chunk-37N5OFHM.js";
23
23
  export {
24
24
  addEvent,
@@ -35,4 +35,4 @@ export {
35
35
  transitionIssue,
36
36
  validateConfig
37
37
  };
38
- //# sourceMappingURL=issues-JPMKO2EE.js.map
38
+ //# sourceMappingURL=issues-7HQC7OIN.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  parseIssueState,
3
3
  renderPrompt
4
- } from "../chunk-T2YJOZ6N.js";
4
+ } from "../chunk-EPY5TTQK.js";
5
5
  import "../chunk-37N5OFHM.js";
6
6
 
7
7
  // src/mcp/server.ts
@@ -7,7 +7,7 @@ import {
7
7
  recoverOrphans,
8
8
  recoverState,
9
9
  stopQueueWorkers
10
- } from "./chunk-AVSRIV47.js";
10
+ } from "./chunk-3QL4QAQ5.js";
11
11
  import "./chunk-DVU3CXWA.js";
12
12
  import "./chunk-37N5OFHM.js";
13
13
  export {
@@ -20,4 +20,4 @@ export {
20
20
  recoverState,
21
21
  stopQueueWorkers
22
22
  };
23
- //# sourceMappingURL=queue-workers-5JOCROD6.js.map
23
+ //# sourceMappingURL=queue-workers-ZEZHDX7M.js.map
@@ -4,12 +4,12 @@ import {
4
4
  hasTerminalQueue,
5
5
  installGracefulShutdown,
6
6
  isShuttingDown
7
- } from "./chunk-DWMY2HBG.js";
8
- import "./chunk-AVSRIV47.js";
9
- import "./chunk-WBOBY75G.js";
10
- import "./chunk-UNYIR5AK.js";
7
+ } from "./chunk-LYAI5RPK.js";
8
+ import "./chunk-3QL4QAQ5.js";
9
+ import "./chunk-UXXUTDGV.js";
10
+ import "./chunk-O3FGX4J6.js";
11
11
  import "./chunk-DVU3CXWA.js";
12
- import "./chunk-T2YJOZ6N.js";
12
+ import "./chunk-EPY5TTQK.js";
13
13
  import "./chunk-37N5OFHM.js";
14
14
  export {
15
15
  analyzeParallelizability,
@@ -18,4 +18,4 @@ export {
18
18
  installGracefulShutdown,
19
19
  isShuttingDown
20
20
  };
21
- //# sourceMappingURL=scheduler-GAO2MXGZ.js.map
21
+ //# sourceMappingURL=scheduler-4R4ZAF25.js.map
@@ -21,17 +21,17 @@ import {
21
21
  replacePersistedSetting,
22
22
  savePlanForIssue,
23
23
  setActiveApiPlugin
24
- } from "./chunk-DWMY2HBG.js";
25
- import "./chunk-AVSRIV47.js";
24
+ } from "./chunk-LYAI5RPK.js";
25
+ import "./chunk-3QL4QAQ5.js";
26
26
  import {
27
27
  hasDirtyState,
28
28
  markEventDirty,
29
29
  markIssueDirty,
30
30
  markIssuePlanDirty
31
- } from "./chunk-WBOBY75G.js";
32
- import "./chunk-UNYIR5AK.js";
31
+ } from "./chunk-UXXUTDGV.js";
32
+ import "./chunk-O3FGX4J6.js";
33
33
  import "./chunk-DVU3CXWA.js";
34
- import "./chunk-T2YJOZ6N.js";
34
+ import "./chunk-EPY5TTQK.js";
35
35
  import "./chunk-37N5OFHM.js";
36
36
  export {
37
37
  closeStateStore,
@@ -61,4 +61,4 @@ export {
61
61
  savePlanForIssue,
62
62
  setActiveApiPlugin
63
63
  };
64
- //# sourceMappingURL=store-3YSID6N2.js.map
64
+ //# sourceMappingURL=store-FNUWCFOX.js.map
@@ -21,9 +21,9 @@ import {
21
21
  shouldSkipMergePath,
22
22
  syncIssueDiffStatsToStore,
23
23
  writeVersionedArtifacts
24
- } from "./chunk-UNYIR5AK.js";
24
+ } from "./chunk-O3FGX4J6.js";
25
25
  import "./chunk-DVU3CXWA.js";
26
- import "./chunk-T2YJOZ6N.js";
26
+ import "./chunk-EPY5TTQK.js";
27
27
  import "./chunk-37N5OFHM.js";
28
28
  export {
29
29
  assertIssueHasGitWorktree,
@@ -49,4 +49,4 @@ export {
49
49
  syncIssueDiffStatsToStore,
50
50
  writeVersionedArtifacts
51
51
  };
52
- //# sourceMappingURL=workspace-ZD5H6YOL.js.map
52
+ //# sourceMappingURL=workspace-AOHHNWL5.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fifony",
3
- "version": "0.1.39",
3
+ "version": "0.1.40",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",