pi-orchestrator-config 4.3.11 → 4.3.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.
- package/README.md +66 -66
- package/extensions/coms/coms-p2p.ts +53 -16
- package/extensions/orchestrator/async-agents.ts +127 -42
- package/extensions/orchestrator/async-result-format.ts +58 -0
- package/extensions/orchestrator/async-runner.ts +20 -4
- package/extensions/orchestrator/cron-status-format.ts +6 -6
- package/extensions/orchestrator/cron-status-ui.ts +3 -3
- package/extensions/orchestrator/cron-store.ts +208 -0
- package/extensions/orchestrator/cron.ts +168 -699
- package/extensions/orchestrator/extended-autocomplete.ts +27 -27
- package/extensions/orchestrator/reviewer-output-archive.ts +69 -0
- package/extensions/orchestrator/status.ts +7 -2
- package/extensions/pidash/pidash-ui/dist/assets/{index-BoNVhD5K.js → index-Ehfwjr9d.js} +1 -1
- package/extensions/pidash/pidash-ui/dist/index.html +1 -1
- package/extensions/pidash/pidash-ui/src/components/InfoBar.tsx +3 -7
- package/extensions/pidash/pidash-ui/src/components/MessageList.tsx +0 -4
- package/extensions/pidash/pidash-ui/tsconfig.json +1 -0
- package/extensions/pidiff/pidiff-ui/package.json +1 -1
- package/extensions/pitasks/index.ts +2 -5
- package/extensions/pitasks/task-tools.ts +2 -2
- package/package.json +2 -1
- package/scripts/build-extension-uis.sh +6 -6
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
6
6
|
<title>pidash</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-Ehfwjr9d.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-j_XBAdtq.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body class="overflow-hidden">
|
|
@@ -54,7 +54,7 @@ export function InfoBar({ session, model, tokens, send, onMessage }: Props) {
|
|
|
54
54
|
}>({ count: 0, agents: "", jobs: [] });
|
|
55
55
|
const [cronTasks, setCronTasks] = useState<{
|
|
56
56
|
count: number;
|
|
57
|
-
tasks: Array<{ id: string; description: string; schedule: string; lastRun?: number; nextRun?: number }>;
|
|
57
|
+
tasks: Array<{ id: string; description: string; schedule: string; lastRun?: number; nextRun?: number; leader?: boolean }>;
|
|
58
58
|
}>({ count: 0, tasks: [] });
|
|
59
59
|
const filterRef = useRef<HTMLInputElement>(null);
|
|
60
60
|
|
|
@@ -93,11 +93,7 @@ export function InfoBar({ session, model, tokens, send, onMessage }: Props) {
|
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
if (ev.type === "cron-status") {
|
|
96
|
-
|
|
97
|
-
setCronTasks(prev => {
|
|
98
|
-
if (prev.count === newCount) return prev;
|
|
99
|
-
return { count: newCount, tasks: ev.tasks || [] };
|
|
100
|
-
});
|
|
96
|
+
setCronTasks({ count: ev.count || 0, tasks: ev.tasks || [] });
|
|
101
97
|
}
|
|
102
98
|
});
|
|
103
99
|
}, [onMessage]);
|
|
@@ -291,7 +287,7 @@ export function InfoBar({ session, model, tokens, send, onMessage }: Props) {
|
|
|
291
287
|
<div className="flex-1 min-w-0">
|
|
292
288
|
<div className="font-medium text-foreground truncate">{task.description}</div>
|
|
293
289
|
<div className="text-muted-foreground text-[10px]">{task.schedule}</div>
|
|
294
|
-
<div className="text-muted-foreground text-[10px]">last: {lastRunStr} · next: {nextRunStr}</div>
|
|
290
|
+
<div className="text-muted-foreground text-[10px]">last: {lastRunStr} · next: {nextRunStr}{task.leader === false ? " · waiting for leader" : ""}</div>
|
|
295
291
|
</div>
|
|
296
292
|
<div className="flex gap-1 shrink-0">
|
|
297
293
|
<button
|
|
@@ -254,10 +254,6 @@ function MessageItem({ msg, searchQuery, onAskResponse }: { msg: ChatMessage; se
|
|
|
254
254
|
return <CollapsibleMessage msg={msg} searchQuery={searchQuery} />;
|
|
255
255
|
}
|
|
256
256
|
|
|
257
|
-
if (msg.role === "system") {
|
|
258
|
-
return <div className="text-xs text-muted-foreground py-1">{msg.text}</div>;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
257
|
return (
|
|
262
258
|
<div>
|
|
263
259
|
<div className={cn("text-[10px] font-bold uppercase tracking-wider mb-0.5", getRoleColor(msg.role))}>
|
|
@@ -418,13 +418,10 @@ export default function (pi: ExtensionAPI) {
|
|
|
418
418
|
registerTasksCommand();
|
|
419
419
|
// Expose handler to pidash for browser command dispatch
|
|
420
420
|
try {
|
|
421
|
-
|
|
422
|
-
try { pi.events.removeListener("pidash:request-commands", (globalThis as any).__pitasks_pidash_listener); } catch {}
|
|
423
|
-
}
|
|
421
|
+
try { (globalThis as any).__pitasks_pidash_unsubscribe?.(); } catch {}
|
|
424
422
|
const registerWithPidash = () => pi.events.emit("pidash:register-command", { name: "tasks", handler: tasksCmdHandler });
|
|
425
|
-
(globalThis as any).
|
|
423
|
+
(globalThis as any).__pitasks_pidash_unsubscribe = pi.events.on("pidash:request-commands", registerWithPidash);
|
|
426
424
|
registerWithPidash();
|
|
427
|
-
pi.events.on("pidash:request-commands", registerWithPidash);
|
|
428
425
|
} catch {}
|
|
429
426
|
log.debug("extension factory complete");
|
|
430
427
|
}
|
|
@@ -61,7 +61,7 @@ All tasks are created with status \`pending\`.
|
|
|
61
61
|
- Include enough detail in the description for another agent to understand and complete the task
|
|
62
62
|
- After creating tasks, use TaskUpdate to set up dependencies (blocks/blockedBy) if needed
|
|
63
63
|
- Check TaskList first to avoid creating duplicate tasks
|
|
64
|
-
-
|
|
64
|
+
- Use \`agentType\` only as optional descriptive metadata; it does not dispatch or execute an agent`,
|
|
65
65
|
promptGuidelines: [
|
|
66
66
|
"When working on complex multi-step tasks, use TaskCreate to track progress and TaskUpdate to update status.",
|
|
67
67
|
"Mark tasks as in_progress before starting work and completed when done.",
|
|
@@ -71,7 +71,7 @@ All tasks are created with status \`pending\`.
|
|
|
71
71
|
subject: Type.String({ description: "A brief title for the task" }),
|
|
72
72
|
description: Type.String({ description: "A detailed description of what needs to be done" }),
|
|
73
73
|
activeForm: Type.Optional(Type.String({ description: "Present continuous form shown in spinner when in_progress (e.g., 'Running tests')" })),
|
|
74
|
-
agentType: Type.Optional(Type.String({ description: "
|
|
74
|
+
agentType: Type.Optional(Type.String({ description: "Optional descriptive metadata for the task. It does not dispatch or execute an agent." })),
|
|
75
75
|
metadata: Type.Optional(Type.Record(Type.String(), Type.Any(), { description: "Arbitrary metadata to attach to the task" })),
|
|
76
76
|
}),
|
|
77
77
|
execute(_toolCallId: string, params: any) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-orchestrator-config",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.13",
|
|
4
4
|
"description": "Orchestrator pattern for pi: specialist subagents, enforcement, code review loop, workflow commands",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package"
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
"ws": "^8.0.0"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
+
"@types/node": "^22.20.1",
|
|
66
67
|
"tsx": "^4.0.0"
|
|
67
68
|
},
|
|
68
69
|
"scripts": {
|
|
@@ -7,17 +7,17 @@ REPO_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
|
7
7
|
|
|
8
8
|
build_ui() {
|
|
9
9
|
local ui_dir="$1"
|
|
10
|
-
echo "Building ${ui_dir}..."
|
|
10
|
+
echo "Building ${ui_dir}..." >&2
|
|
11
11
|
cd "${REPO_DIR}/${ui_dir}"
|
|
12
12
|
if [ ! -d node_modules ]; then
|
|
13
|
-
npm install --production=false
|
|
13
|
+
npm install --production=false >&2
|
|
14
14
|
fi
|
|
15
|
-
npm run build
|
|
15
|
+
npm run build >&2
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
build_ui extensions/pidash/pidash-ui
|
|
19
19
|
build_ui extensions/pidiff/pidiff-ui
|
|
20
20
|
|
|
21
|
-
echo "UI builds complete."
|
|
22
|
-
echo " ${REPO_DIR}/extensions/pidash/pidash-ui/dist/index.html"
|
|
23
|
-
echo " ${REPO_DIR}/extensions/pidiff/pidiff-ui/dist/index.html"
|
|
21
|
+
echo "UI builds complete." >&2
|
|
22
|
+
echo " ${REPO_DIR}/extensions/pidash/pidash-ui/dist/index.html" >&2
|
|
23
|
+
echo " ${REPO_DIR}/extensions/pidiff/pidiff-ui/dist/index.html" >&2
|