pi-orchestrator-config 4.3.12 → 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 +50 -24
- 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/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/package.json +2 -1
|
@@ -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
|
}
|
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": {
|