sisyphi 1.0.11 → 1.0.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.
Files changed (33) hide show
  1. package/dist/cli.js +96 -9
  2. package/dist/cli.js.map +1 -1
  3. package/dist/daemon.js +16 -7
  4. package/dist/daemon.js.map +1 -1
  5. package/dist/templates/agent-plugin/agents/review/compliance.md +48 -0
  6. package/dist/templates/agent-plugin/agents/review/efficiency.md +40 -0
  7. package/dist/templates/agent-plugin/agents/review/quality.md +38 -0
  8. package/dist/templates/agent-plugin/agents/review/reuse.md +38 -0
  9. package/dist/templates/agent-plugin/agents/review/security.md +40 -0
  10. package/dist/templates/agent-plugin/agents/review-plan/code-smells.md +39 -0
  11. package/dist/templates/agent-plugin/agents/review-plan/pattern-consistency.md +39 -0
  12. package/dist/templates/agent-plugin/agents/review-plan/security.md +38 -0
  13. package/dist/templates/agent-plugin/agents/review-plan/spec-coverage.md +44 -0
  14. package/dist/templates/agent-plugin/agents/review-plan.md +10 -64
  15. package/dist/templates/agent-plugin/agents/review.md +21 -18
  16. package/dist/templates/agent-plugin/hooks/review-plan-user-prompt.sh +9 -3
  17. package/dist/templates/agent-plugin/hooks/review-user-prompt.sh +11 -2
  18. package/dist/templates/agent-suffix.md +7 -24
  19. package/package.json +1 -1
  20. package/templates/agent-plugin/agents/review/compliance.md +48 -0
  21. package/templates/agent-plugin/agents/review/efficiency.md +40 -0
  22. package/templates/agent-plugin/agents/review/quality.md +38 -0
  23. package/templates/agent-plugin/agents/review/reuse.md +38 -0
  24. package/templates/agent-plugin/agents/review/security.md +40 -0
  25. package/templates/agent-plugin/agents/review-plan/code-smells.md +39 -0
  26. package/templates/agent-plugin/agents/review-plan/pattern-consistency.md +39 -0
  27. package/templates/agent-plugin/agents/review-plan/security.md +38 -0
  28. package/templates/agent-plugin/agents/review-plan/spec-coverage.md +44 -0
  29. package/templates/agent-plugin/agents/review-plan.md +10 -64
  30. package/templates/agent-plugin/agents/review.md +21 -18
  31. package/templates/agent-plugin/hooks/review-plan-user-prompt.sh +9 -3
  32. package/templates/agent-plugin/hooks/review-user-prompt.sh +11 -2
  33. package/templates/agent-suffix.md +7 -24
package/dist/daemon.js CHANGED
@@ -42,7 +42,7 @@ import { setTimeout as sleep } from "timers/promises";
42
42
  // src/daemon/server.ts
43
43
  import { createServer } from "net";
44
44
  import { unlinkSync, existsSync as existsSync8, writeFileSync as writeFileSync5, readFileSync as readFileSync6, mkdirSync as mkdirSync4, rmSync as rmSync4 } from "fs";
45
- import { join as join5 } from "path";
45
+ import { join as join6 } from "path";
46
46
 
47
47
  // src/daemon/session-manager.ts
48
48
  import { v4 as uuidv4 } from "uuid";
@@ -555,8 +555,9 @@ function setPaneTitle(paneTarget, title) {
555
555
  execSafe(`tmux select-pane -t "${paneTarget}" -T ${shellQuote(title)}`);
556
556
  }
557
557
  function setPaneStyle(paneTarget, color) {
558
- const gitBranch = `#(cd #{pane_current_path} && git branch --show-current 2>/dev/null || echo 'n/a')`;
559
- const fmt = `#[fg=${color},bold] #{pane_title} #[fg=${color}]#{pane_current_path} | ${gitBranch} #[default]`;
558
+ const gitBranch = `#(cd #{pane_current_path} && git branch --show-current 2>/dev/null)`;
559
+ const branchSuffix = `#(cd #{pane_current_path} && git branch --show-current 2>/dev/null | grep -q . && echo ' |') ${gitBranch}`;
560
+ const fmt = `#[fg=${color},bold] #{pane_title} #[fg=${color}]#{pane_current_path}${branchSuffix} #[default]`;
560
561
  execSafe(`tmux set -p -t "${paneTarget}" pane-border-format ${shellQuote(fmt)}`);
561
562
  execSafe(`tmux set -p -t "${paneTarget}" @pane_color "${color}"`);
562
563
  execSafe(`tmux set -w -t "${paneTarget}" pane-border-style "fg=#{?#{@pane_color},#{@pane_color},default}"`);
@@ -855,9 +856,9 @@ function cleanupSessionMaps(sessionId) {
855
856
  }
856
857
 
857
858
  // src/daemon/agent.ts
858
- import { readFileSync as readFileSync5, writeFileSync as writeFileSync4, copyFileSync as copyFileSync2, mkdirSync as mkdirSync3, readdirSync as readdirSync5 } from "fs";
859
+ import { readFileSync as readFileSync5, writeFileSync as writeFileSync4, copyFileSync as copyFileSync2, mkdirSync as mkdirSync3, readdirSync as readdirSync5, existsSync as existsSync6 } from "fs";
859
860
  import { execSync as execSync2 } from "child_process";
860
- import { resolve as resolve3 } from "path";
861
+ import { resolve as resolve3, dirname as dirname3, join as join5 } from "path";
861
862
 
862
863
  // src/daemon/worktree.ts
863
864
  import { existsSync as existsSync5, mkdirSync as mkdirSync2, readFileSync as readFileSync4, readdirSync as readdirSync4, rmSync as rmSync2 } from "fs";
@@ -1070,6 +1071,14 @@ function createAgentPlugin(cwd, sessionId, agentId, agentType, agentConfig) {
1070
1071
  if (agentConfig?.filePath && agentType && agentType !== "worker") {
1071
1072
  const shortName = agentType.replace(/^sisyphus:/, "");
1072
1073
  copyFileSync2(agentConfig.filePath, `${base}/agents/${shortName}.md`);
1074
+ const subAgentDir = join5(dirname3(agentConfig.filePath), shortName);
1075
+ if (existsSync6(subAgentDir)) {
1076
+ for (const f of readdirSync5(subAgentDir)) {
1077
+ if (f.endsWith(".md") && f !== "CLAUDE.md") {
1078
+ copyFileSync2(join5(subAgentDir, f), `${base}/agents/${f}`);
1079
+ }
1080
+ }
1081
+ }
1073
1082
  }
1074
1083
  const srcHooks = resolve3(import.meta.dirname, "../templates/agent-plugin/hooks");
1075
1084
  for (const f of ["require-submit.sh", "intercept-send-message.sh"]) {
@@ -1897,7 +1906,7 @@ async function handlePaneExited(paneId, cwd, sessionId, role, agentId) {
1897
1906
  var server = null;
1898
1907
  var sessionTrackingMap = /* @__PURE__ */ new Map();
1899
1908
  function registryPath() {
1900
- return join5(globalDir(), "session-registry.json");
1909
+ return join6(globalDir(), "session-registry.json");
1901
1910
  }
1902
1911
  function persistSessionRegistry() {
1903
1912
  const dir = globalDir();
@@ -2141,7 +2150,7 @@ async function handleRequest(req) {
2141
2150
  if (req.content.length > 200) {
2142
2151
  const dir = messagesDir(tracking.cwd, req.sessionId);
2143
2152
  mkdirSync4(dir, { recursive: true });
2144
- filePath = join5(dir, `${id}.md`);
2153
+ filePath = join6(dir, `${id}.md`);
2145
2154
  writeFileSync5(filePath, req.content, "utf-8");
2146
2155
  }
2147
2156
  await appendMessage(tracking.cwd, req.sessionId, {