pi-orchestrator-config 4.1.5

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 (175) hide show
  1. package/README.md +808 -0
  2. package/agents/api-documenter.md +32 -0
  3. package/agents/bash-expert.md +53 -0
  4. package/agents/code-reviewer-docs.md +145 -0
  5. package/agents/code-reviewer-guidelines.md +97 -0
  6. package/agents/code-reviewer-quality.md +142 -0
  7. package/agents/code-reviewer-security.md +107 -0
  8. package/agents/code-reviewer-spec.md +164 -0
  9. package/agents/debugger.md +63 -0
  10. package/agents/docker-expert.md +40 -0
  11. package/agents/docs-fetcher.md +48 -0
  12. package/agents/git-expert.md +63 -0
  13. package/agents/github-expert.md +83 -0
  14. package/agents/go-expert.md +62 -0
  15. package/agents/issue-reviewer-feasibility.md +60 -0
  16. package/agents/issue-reviewer-scope.md +63 -0
  17. package/agents/issue-reviewer-spec.md +77 -0
  18. package/agents/java-expert.md +31 -0
  19. package/agents/jenkins-expert.md +38 -0
  20. package/agents/kubernetes-expert.md +40 -0
  21. package/agents/planner.md +42 -0
  22. package/agents/python-expert.md +61 -0
  23. package/agents/reviewer.md +26 -0
  24. package/agents/scout.md +40 -0
  25. package/agents/security-auditor.md +254 -0
  26. package/agents/technical-documentation-writer.md +37 -0
  27. package/agents/test-automator.md +55 -0
  28. package/agents/test-runner.md +47 -0
  29. package/agents/ts-expert.md +23 -0
  30. package/agents/worker.md +30 -0
  31. package/extensions/acpx-provider/index.ts +104 -0
  32. package/extensions/acpx-provider/load-runtime.ts +99 -0
  33. package/extensions/acpx-provider/runtime-models.ts +40 -0
  34. package/extensions/cli-provider/agents/claude.ts +128 -0
  35. package/extensions/cli-provider/agents/cursor.ts +84 -0
  36. package/extensions/cli-provider/agents/gemini.ts +100 -0
  37. package/extensions/cli-provider/discover.ts +77 -0
  38. package/extensions/cli-provider/index.ts +57 -0
  39. package/extensions/cli-provider/parsers.ts +304 -0
  40. package/extensions/cli-provider/providers.ts +58 -0
  41. package/extensions/cli-provider/runner.ts +225 -0
  42. package/extensions/cli-provider/runtime-models.ts +32 -0
  43. package/extensions/cli-provider/session-reaper.ts +122 -0
  44. package/extensions/cli-provider/sessions.ts +533 -0
  45. package/extensions/cli-provider/shared/discover-cache.ts +235 -0
  46. package/extensions/cli-provider/types.ts +48 -0
  47. package/extensions/coms/coms-net-server.ts +1642 -0
  48. package/extensions/coms/coms-net-wrapper.ts +521 -0
  49. package/extensions/coms/coms-net.ts +1589 -0
  50. package/extensions/coms/coms-p2p.ts +1879 -0
  51. package/extensions/coms/coms-shared.ts +510 -0
  52. package/extensions/coms/coms-wrapper.ts +138 -0
  53. package/extensions/coms/index.ts +20 -0
  54. package/extensions/coms/themeMap.ts +147 -0
  55. package/extensions/image-gen/image-gen.ts +332 -0
  56. package/extensions/image-gen/index.ts +14 -0
  57. package/extensions/orchestrator/agents.ts +134 -0
  58. package/extensions/orchestrator/ask-user.ts +293 -0
  59. package/extensions/orchestrator/async-agents.ts +1037 -0
  60. package/extensions/orchestrator/async-capability.ts +129 -0
  61. package/extensions/orchestrator/async-runner.ts +324 -0
  62. package/extensions/orchestrator/async-status-parse.ts +31 -0
  63. package/extensions/orchestrator/async-status-ui.ts +201 -0
  64. package/extensions/orchestrator/async-wait.ts +36 -0
  65. package/extensions/orchestrator/btw.ts +210 -0
  66. package/extensions/orchestrator/cron-status-format.ts +126 -0
  67. package/extensions/orchestrator/cron-status-ui.ts +132 -0
  68. package/extensions/orchestrator/cron.ts +730 -0
  69. package/extensions/orchestrator/dreaming.ts +355 -0
  70. package/extensions/orchestrator/enforcement-helpers.ts +530 -0
  71. package/extensions/orchestrator/enforcement-rules.ts +329 -0
  72. package/extensions/orchestrator/enforcement.ts +828 -0
  73. package/extensions/orchestrator/extended-autocomplete.ts +593 -0
  74. package/extensions/orchestrator/git-helpers.ts +420 -0
  75. package/extensions/orchestrator/github-autocomplete.ts +250 -0
  76. package/extensions/orchestrator/icons.ts +17 -0
  77. package/extensions/orchestrator/index.ts +100 -0
  78. package/extensions/orchestrator/memory-embeddings.ts +281 -0
  79. package/extensions/orchestrator/memory-promotion.ts +449 -0
  80. package/extensions/orchestrator/memory-provenance.ts +80 -0
  81. package/extensions/orchestrator/memory-query-class.ts +90 -0
  82. package/extensions/orchestrator/memory-scoring.ts +434 -0
  83. package/extensions/orchestrator/memory-tools.ts +883 -0
  84. package/extensions/orchestrator/memory-tree.ts +212 -0
  85. package/extensions/orchestrator/nvim.ts +169 -0
  86. package/extensions/orchestrator/overlay-dashboard-utils.ts +25 -0
  87. package/extensions/orchestrator/overlay-dashboard.ts +512 -0
  88. package/extensions/orchestrator/pi-config-review-state.ts +303 -0
  89. package/extensions/orchestrator/preference-extractor.ts +106 -0
  90. package/extensions/orchestrator/project-settings.ts +468 -0
  91. package/extensions/orchestrator/promotion-queue.ts +311 -0
  92. package/extensions/orchestrator/resolve-agent-model.ts +32 -0
  93. package/extensions/orchestrator/review-ui.ts +204 -0
  94. package/extensions/orchestrator/rule-placeholders.ts +12 -0
  95. package/extensions/orchestrator/rules.ts +481 -0
  96. package/extensions/orchestrator/session-search.ts +243 -0
  97. package/extensions/orchestrator/session-validation.ts +374 -0
  98. package/extensions/orchestrator/situation-report.ts +370 -0
  99. package/extensions/orchestrator/status-bar.ts +31 -0
  100. package/extensions/orchestrator/status-line.ts +192 -0
  101. package/extensions/orchestrator/status.ts +110 -0
  102. package/extensions/orchestrator/subagent-tool.ts +1748 -0
  103. package/extensions/orchestrator/task-lifecycle.ts +88 -0
  104. package/extensions/orchestrator/utils.ts +227 -0
  105. package/extensions/pidash/index.ts +15 -0
  106. package/extensions/pidash/pidash.ts +941 -0
  107. package/extensions/pidiff/index.ts +13 -0
  108. package/extensions/pidiff/pidiff.ts +369 -0
  109. package/extensions/providers/acpx-driver.ts +479 -0
  110. package/extensions/providers/built-in-drivers.ts +52 -0
  111. package/extensions/providers/claude-driver.ts +319 -0
  112. package/extensions/providers/cursor-acpx-driver.ts +398 -0
  113. package/extensions/providers/cursor-cli-driver.ts +484 -0
  114. package/extensions/providers/gemini-driver.ts +302 -0
  115. package/extensions/providers/index.ts +513 -0
  116. package/extensions/shared/build-system-prompt.ts +57 -0
  117. package/extensions/shared/create-runtime-provider.ts +190 -0
  118. package/extensions/shared/daemon-manager.ts +248 -0
  119. package/extensions/shared/file-logger.ts +115 -0
  120. package/extensions/shared/managed-refresh.ts +211 -0
  121. package/extensions/shared/provider-driver.ts +295 -0
  122. package/extensions/shared/provider-errors.ts +305 -0
  123. package/extensions/shared/provider-registry.ts +388 -0
  124. package/extensions/shared/stream-builder.ts +275 -0
  125. package/extensions/shared/types.ts +20 -0
  126. package/extensions/shared/ui/README.md +10 -0
  127. package/extensions/shared/ui/badge.tsx +52 -0
  128. package/extensions/shared/ui/button.tsx +58 -0
  129. package/extensions/shared/ui/collapsible.tsx +21 -0
  130. package/extensions/shared/ui/dropdown-menu.tsx +266 -0
  131. package/extensions/shared/ui/input.tsx +20 -0
  132. package/extensions/shared/ui/popover.tsx +114 -0
  133. package/extensions/shared/ui/resizable.tsx +48 -0
  134. package/extensions/shared/ui/scroll-area.tsx +53 -0
  135. package/extensions/shared/ui/select.tsx +201 -0
  136. package/extensions/shared/ui/separator.tsx +25 -0
  137. package/extensions/shared/ui/tooltip.tsx +64 -0
  138. package/extensions/shared/ws-client.ts +74 -0
  139. package/package.json +59 -0
  140. package/prompts/coderabbit-rate-limit.md +95 -0
  141. package/prompts/create-coms-feature-manager.md +186 -0
  142. package/prompts/create-skill.md +128 -0
  143. package/prompts/domain-model.md +109 -0
  144. package/prompts/external-ai.md +665 -0
  145. package/prompts/implement-and-review.md +25 -0
  146. package/prompts/implement.md +26 -0
  147. package/prompts/issue-review.md +256 -0
  148. package/prompts/pr-review.md +753 -0
  149. package/prompts/query-db.md +154 -0
  150. package/prompts/refine-review.md +208 -0
  151. package/prompts/release.md +235 -0
  152. package/prompts/remember.md +33 -0
  153. package/prompts/review-handler-status.md +27 -0
  154. package/prompts/review-handler.md +677 -0
  155. package/prompts/review-local.md +159 -0
  156. package/prompts/scout-and-plan.md +21 -0
  157. package/rules/00-orchestrator-core.md +42 -0
  158. package/rules/05-issue-first-workflow.md +119 -0
  159. package/rules/10-agent-routing.md +58 -0
  160. package/rules/15-mcp-launchpad.md +46 -0
  161. package/rules/20-code-review-loop.md +234 -0
  162. package/rules/25-documentation-updates.md +15 -0
  163. package/rules/30-prompt-templates.md +19 -0
  164. package/rules/35-memory.md +240 -0
  165. package/rules/40-critical-rules.md +124 -0
  166. package/rules/45-file-preview.md +29 -0
  167. package/rules/50-agent-bug-reporting.md +90 -0
  168. package/rules/55-coms-protocol.md +63 -0
  169. package/rules/60-task-tracking.md +66 -0
  170. package/skills/conflict-resolver/SKILL.md +213 -0
  171. package/skills/skill-creator/SKILL.md +85 -0
  172. package/skills/systematic-debugging/SKILL.md +353 -0
  173. package/skills/test-driven-development/SKILL.md +335 -0
  174. package/skills/update-agents-md/SKILL.md +282 -0
  175. package/templates/coms-feature-manager-prompt.md +313 -0
@@ -0,0 +1,110 @@
1
+ /**
2
+ * /status command — unified session status snapshot.
3
+ * Direct handler (no AI roundtrip).
4
+ */
5
+
6
+ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
7
+ import { tryGetSystemPromptOptions } from "./utils.js";
8
+ import type { AsyncJob } from "./async-agents.js";
9
+ import type { CronTask } from "./cron.js";
10
+ import { getCurrentBranch, runGit } from "./git-helpers.js";
11
+
12
+ function formatDuration(ms: number): string {
13
+ const s = Math.floor(ms / 1000);
14
+ if (s < 60) return `${s}s`;
15
+ const m = Math.floor(s / 60);
16
+ if (m < 60) return `${m}m${s % 60}s`;
17
+ const h = Math.floor(m / 60);
18
+ return `${h}h${m % 60}m`;
19
+ }
20
+
21
+ function formatSchedule(t: CronTask): string {
22
+ if (t.intervalMs) {
23
+ const totalSec = Math.floor(t.intervalMs / 1000);
24
+ if (totalSec < 60) return `every ${totalSec}s`;
25
+ const m = Math.floor(totalSec / 60);
26
+ const s = totalSec % 60;
27
+ if (m < 60) return s > 0 ? `every ${m}m${s}s` : `every ${m}m`;
28
+ const h = Math.floor(m / 60);
29
+ const rm = m % 60;
30
+ return rm > 0 ? `every ${h}h${rm}m` : `every ${h}h`;
31
+ }
32
+ if (t.atHour != null && t.atMinute != null) {
33
+ return `at ${String(t.atHour).padStart(2, "0")}:${String(t.atMinute).padStart(2, "0")}`;
34
+ }
35
+ return "unknown";
36
+ }
37
+
38
+ export function registerStatus(
39
+ pi: ExtensionAPI,
40
+ inContainer: boolean,
41
+ getAsyncJobs: () => AsyncJob[],
42
+ getCronTasks: () => CronTask[],
43
+ ): void {
44
+ pi.registerCommand("status", {
45
+ description: "Show unified session status — async agents, crons, git, context",
46
+ handler: async (_args, ctx) => {
47
+ if (!ctx.hasUI) return;
48
+
49
+ const lines: string[] = [];
50
+
51
+ // ── Async agents ───────────────────────────────────────────────
52
+ const jobs = getAsyncJobs();
53
+ if (jobs.length > 0) {
54
+ lines.push(`⏳ Async agents: ${jobs.length} running`);
55
+ for (const j of jobs) {
56
+ const dur = formatDuration(Date.now() - j.startedAt);
57
+ const task = j.task.length > 50 ? j.task.slice(0, 50) + "..." : j.task;
58
+ lines.push(` • ${j.name || j.agent} — ${dur} — ${task}`);
59
+ }
60
+ } else {
61
+ lines.push("⏳ Async agents: none");
62
+ }
63
+
64
+ // ── Cron tasks ─────────────────────────────────────────────────
65
+ const crons = getCronTasks();
66
+ if (crons.length > 0) {
67
+ lines.push(`⏰ Cron tasks: ${crons.length} active`);
68
+ for (const t of crons) {
69
+ const last = t.lastRun ? new Date(t.lastRun).toLocaleTimeString() : "never";
70
+ lines.push(` • #${t.id} ${formatSchedule(t)} — ${t.description} (last: ${last})`);
71
+ }
72
+ } else {
73
+ lines.push("⏰ Cron tasks: none");
74
+ }
75
+
76
+ // ── Git ────────────────────────────────────────────────────────
77
+ try {
78
+ const branch = getCurrentBranch(ctx.cwd);
79
+ if (branch) {
80
+ const status = runGit(["status", "--porcelain"], ctx.cwd);
81
+ const dirtyLines = status.code === 0 ? status.stdout?.trim() : "";
82
+ const dirtyCount = dirtyLines ? dirtyLines.split("\n").length : 0;
83
+ const repoName = ctx.cwd.split("/").pop() || ctx.cwd;
84
+ const stateIcon = dirtyCount > 0 ? "●" : "✓";
85
+ const stateText = dirtyCount > 0 ? `${dirtyCount} changed file${dirtyCount > 1 ? "s" : ""}` : "clean";
86
+ lines.push(`🔀 Git: ${branch} ${stateIcon} ${stateText} (${repoName})`);
87
+ }
88
+ } catch (e: any) { console.debug("[status] git status failed:", e?.message || e); }
89
+
90
+ // ── Container ──────────────────────────────────────────────────
91
+ if (inContainer) {
92
+ lines.push("📦 Running in container");
93
+ }
94
+
95
+ // ── System prompt resources ────────────────────────────────────
96
+ const opts = tryGetSystemPromptOptions(ctx);
97
+ if (opts) {
98
+ const contextFiles = opts.contextFiles?.length ?? 0;
99
+ const skills = opts.skills?.length ?? 0;
100
+ const tools = opts.selectedTools?.length ?? 0;
101
+ const guidelines = opts.promptGuidelines?.length ?? 0;
102
+ if (contextFiles + skills + tools + guidelines > 0) {
103
+ lines.push(`📋 Loaded: ${contextFiles} context files, ${skills} skills, ${tools} tools, ${guidelines} guidelines`);
104
+ }
105
+ }
106
+
107
+ ctx.ui.notify(lines.join("\n"), "info");
108
+ },
109
+ });
110
+ }