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.
- package/README.md +808 -0
- package/agents/api-documenter.md +32 -0
- package/agents/bash-expert.md +53 -0
- package/agents/code-reviewer-docs.md +145 -0
- package/agents/code-reviewer-guidelines.md +97 -0
- package/agents/code-reviewer-quality.md +142 -0
- package/agents/code-reviewer-security.md +107 -0
- package/agents/code-reviewer-spec.md +164 -0
- package/agents/debugger.md +63 -0
- package/agents/docker-expert.md +40 -0
- package/agents/docs-fetcher.md +48 -0
- package/agents/git-expert.md +63 -0
- package/agents/github-expert.md +83 -0
- package/agents/go-expert.md +62 -0
- package/agents/issue-reviewer-feasibility.md +60 -0
- package/agents/issue-reviewer-scope.md +63 -0
- package/agents/issue-reviewer-spec.md +77 -0
- package/agents/java-expert.md +31 -0
- package/agents/jenkins-expert.md +38 -0
- package/agents/kubernetes-expert.md +40 -0
- package/agents/planner.md +42 -0
- package/agents/python-expert.md +61 -0
- package/agents/reviewer.md +26 -0
- package/agents/scout.md +40 -0
- package/agents/security-auditor.md +254 -0
- package/agents/technical-documentation-writer.md +37 -0
- package/agents/test-automator.md +55 -0
- package/agents/test-runner.md +47 -0
- package/agents/ts-expert.md +23 -0
- package/agents/worker.md +30 -0
- package/extensions/acpx-provider/index.ts +104 -0
- package/extensions/acpx-provider/load-runtime.ts +99 -0
- package/extensions/acpx-provider/runtime-models.ts +40 -0
- package/extensions/cli-provider/agents/claude.ts +128 -0
- package/extensions/cli-provider/agents/cursor.ts +84 -0
- package/extensions/cli-provider/agents/gemini.ts +100 -0
- package/extensions/cli-provider/discover.ts +77 -0
- package/extensions/cli-provider/index.ts +57 -0
- package/extensions/cli-provider/parsers.ts +304 -0
- package/extensions/cli-provider/providers.ts +58 -0
- package/extensions/cli-provider/runner.ts +225 -0
- package/extensions/cli-provider/runtime-models.ts +32 -0
- package/extensions/cli-provider/session-reaper.ts +122 -0
- package/extensions/cli-provider/sessions.ts +533 -0
- package/extensions/cli-provider/shared/discover-cache.ts +235 -0
- package/extensions/cli-provider/types.ts +48 -0
- package/extensions/coms/coms-net-server.ts +1642 -0
- package/extensions/coms/coms-net-wrapper.ts +521 -0
- package/extensions/coms/coms-net.ts +1589 -0
- package/extensions/coms/coms-p2p.ts +1879 -0
- package/extensions/coms/coms-shared.ts +510 -0
- package/extensions/coms/coms-wrapper.ts +138 -0
- package/extensions/coms/index.ts +20 -0
- package/extensions/coms/themeMap.ts +147 -0
- package/extensions/image-gen/image-gen.ts +332 -0
- package/extensions/image-gen/index.ts +14 -0
- package/extensions/orchestrator/agents.ts +134 -0
- package/extensions/orchestrator/ask-user.ts +293 -0
- package/extensions/orchestrator/async-agents.ts +1037 -0
- package/extensions/orchestrator/async-capability.ts +129 -0
- package/extensions/orchestrator/async-runner.ts +324 -0
- package/extensions/orchestrator/async-status-parse.ts +31 -0
- package/extensions/orchestrator/async-status-ui.ts +201 -0
- package/extensions/orchestrator/async-wait.ts +36 -0
- package/extensions/orchestrator/btw.ts +210 -0
- package/extensions/orchestrator/cron-status-format.ts +126 -0
- package/extensions/orchestrator/cron-status-ui.ts +132 -0
- package/extensions/orchestrator/cron.ts +730 -0
- package/extensions/orchestrator/dreaming.ts +355 -0
- package/extensions/orchestrator/enforcement-helpers.ts +530 -0
- package/extensions/orchestrator/enforcement-rules.ts +329 -0
- package/extensions/orchestrator/enforcement.ts +828 -0
- package/extensions/orchestrator/extended-autocomplete.ts +593 -0
- package/extensions/orchestrator/git-helpers.ts +420 -0
- package/extensions/orchestrator/github-autocomplete.ts +250 -0
- package/extensions/orchestrator/icons.ts +17 -0
- package/extensions/orchestrator/index.ts +100 -0
- package/extensions/orchestrator/memory-embeddings.ts +281 -0
- package/extensions/orchestrator/memory-promotion.ts +449 -0
- package/extensions/orchestrator/memory-provenance.ts +80 -0
- package/extensions/orchestrator/memory-query-class.ts +90 -0
- package/extensions/orchestrator/memory-scoring.ts +434 -0
- package/extensions/orchestrator/memory-tools.ts +883 -0
- package/extensions/orchestrator/memory-tree.ts +212 -0
- package/extensions/orchestrator/nvim.ts +169 -0
- package/extensions/orchestrator/overlay-dashboard-utils.ts +25 -0
- package/extensions/orchestrator/overlay-dashboard.ts +512 -0
- package/extensions/orchestrator/pi-config-review-state.ts +303 -0
- package/extensions/orchestrator/preference-extractor.ts +106 -0
- package/extensions/orchestrator/project-settings.ts +468 -0
- package/extensions/orchestrator/promotion-queue.ts +311 -0
- package/extensions/orchestrator/resolve-agent-model.ts +32 -0
- package/extensions/orchestrator/review-ui.ts +204 -0
- package/extensions/orchestrator/rule-placeholders.ts +12 -0
- package/extensions/orchestrator/rules.ts +481 -0
- package/extensions/orchestrator/session-search.ts +243 -0
- package/extensions/orchestrator/session-validation.ts +374 -0
- package/extensions/orchestrator/situation-report.ts +370 -0
- package/extensions/orchestrator/status-bar.ts +31 -0
- package/extensions/orchestrator/status-line.ts +192 -0
- package/extensions/orchestrator/status.ts +110 -0
- package/extensions/orchestrator/subagent-tool.ts +1748 -0
- package/extensions/orchestrator/task-lifecycle.ts +88 -0
- package/extensions/orchestrator/utils.ts +227 -0
- package/extensions/pidash/index.ts +15 -0
- package/extensions/pidash/pidash.ts +941 -0
- package/extensions/pidiff/index.ts +13 -0
- package/extensions/pidiff/pidiff.ts +369 -0
- package/extensions/providers/acpx-driver.ts +479 -0
- package/extensions/providers/built-in-drivers.ts +52 -0
- package/extensions/providers/claude-driver.ts +319 -0
- package/extensions/providers/cursor-acpx-driver.ts +398 -0
- package/extensions/providers/cursor-cli-driver.ts +484 -0
- package/extensions/providers/gemini-driver.ts +302 -0
- package/extensions/providers/index.ts +513 -0
- package/extensions/shared/build-system-prompt.ts +57 -0
- package/extensions/shared/create-runtime-provider.ts +190 -0
- package/extensions/shared/daemon-manager.ts +248 -0
- package/extensions/shared/file-logger.ts +115 -0
- package/extensions/shared/managed-refresh.ts +211 -0
- package/extensions/shared/provider-driver.ts +295 -0
- package/extensions/shared/provider-errors.ts +305 -0
- package/extensions/shared/provider-registry.ts +388 -0
- package/extensions/shared/stream-builder.ts +275 -0
- package/extensions/shared/types.ts +20 -0
- package/extensions/shared/ui/README.md +10 -0
- package/extensions/shared/ui/badge.tsx +52 -0
- package/extensions/shared/ui/button.tsx +58 -0
- package/extensions/shared/ui/collapsible.tsx +21 -0
- package/extensions/shared/ui/dropdown-menu.tsx +266 -0
- package/extensions/shared/ui/input.tsx +20 -0
- package/extensions/shared/ui/popover.tsx +114 -0
- package/extensions/shared/ui/resizable.tsx +48 -0
- package/extensions/shared/ui/scroll-area.tsx +53 -0
- package/extensions/shared/ui/select.tsx +201 -0
- package/extensions/shared/ui/separator.tsx +25 -0
- package/extensions/shared/ui/tooltip.tsx +64 -0
- package/extensions/shared/ws-client.ts +74 -0
- package/package.json +59 -0
- package/prompts/coderabbit-rate-limit.md +95 -0
- package/prompts/create-coms-feature-manager.md +186 -0
- package/prompts/create-skill.md +128 -0
- package/prompts/domain-model.md +109 -0
- package/prompts/external-ai.md +665 -0
- package/prompts/implement-and-review.md +25 -0
- package/prompts/implement.md +26 -0
- package/prompts/issue-review.md +256 -0
- package/prompts/pr-review.md +753 -0
- package/prompts/query-db.md +154 -0
- package/prompts/refine-review.md +208 -0
- package/prompts/release.md +235 -0
- package/prompts/remember.md +33 -0
- package/prompts/review-handler-status.md +27 -0
- package/prompts/review-handler.md +677 -0
- package/prompts/review-local.md +159 -0
- package/prompts/scout-and-plan.md +21 -0
- package/rules/00-orchestrator-core.md +42 -0
- package/rules/05-issue-first-workflow.md +119 -0
- package/rules/10-agent-routing.md +58 -0
- package/rules/15-mcp-launchpad.md +46 -0
- package/rules/20-code-review-loop.md +234 -0
- package/rules/25-documentation-updates.md +15 -0
- package/rules/30-prompt-templates.md +19 -0
- package/rules/35-memory.md +240 -0
- package/rules/40-critical-rules.md +124 -0
- package/rules/45-file-preview.md +29 -0
- package/rules/50-agent-bug-reporting.md +90 -0
- package/rules/55-coms-protocol.md +63 -0
- package/rules/60-task-tracking.md +66 -0
- package/skills/conflict-resolver/SKILL.md +213 -0
- package/skills/skill-creator/SKILL.md +85 -0
- package/skills/systematic-debugging/SKILL.md +353 -0
- package/skills/test-driven-development/SKILL.md +335 -0
- package/skills/update-agents-md/SKILL.md +282 -0
- 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
|
+
}
|