pi-harness-runtime 1.1.211 → 1.1.213
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/index.ts +29 -57
- package/package.json +1 -1
- package/packages/a2a-adapter/package.json +1 -1
- package/packages/agent-policy/package.json +1 -1
- package/packages/architecture-generator/package.json +1 -1
- package/packages/auth/package.json +1 -1
- package/packages/autonomous-refactor/package.json +1 -1
- package/packages/autonomous-runtime/package.json +1 -1
- package/packages/cache-strategy/package.json +1 -1
- package/packages/capability-registry/package.json +1 -1
- package/packages/checkpoint/package.json +1 -1
- package/packages/cli-plugin-sdk/package.json +1 -1
- package/packages/clipboard/package.json +1 -1
- package/packages/clipboard-plugin/package.json +1 -1
- package/packages/code-generation/package.json +1 -1
- package/packages/code-review/package.json +1 -1
- package/packages/codex-adapter/package.json +1 -1
- package/packages/codex-watcher/package.json +1 -1
- package/packages/config-capture/package.json +1 -1
- package/packages/context-compiler/package.json +1 -1
- package/packages/context-discovery/package.json +1 -1
- package/packages/context-manager/package.json +1 -1
- package/packages/cookie-sanitizer/package.json +1 -1
- package/packages/cost-optimizer/package.json +1 -1
- package/packages/dependency-analyzer/package.json +1 -1
- package/packages/django-plugin/package.json +1 -1
- package/packages/doc-generator/package.json +1 -1
- package/packages/e2e-tester/package.json +1 -1
- package/packages/evaluation-engine/package.json +1 -1
- package/packages/evaluation-runner/package.json +1 -1
- package/packages/event-bus/package.json +1 -1
- package/packages/event-store/package.json +1 -1
- package/packages/experience-replay/package.json +1 -1
- package/packages/feedback-collector/package.json +1 -1
- package/packages/file-copy-helper/package.json +1 -1
- package/packages/framework-detector/package.json +1 -1
- package/packages/framework-plugin-sdk/package.json +1 -1
- package/packages/frappe-plugin/package.json +1 -1
- package/packages/generic-web-plugin/package.json +1 -1
- package/packages/health-monitor/package.json +1 -1
- package/packages/intent-analyzer/package.json +1 -1
- package/packages/jev-judge/package.json +1 -1
- package/packages/knowledge-graph/package.json +1 -1
- package/packages/knowledge-retrieval/package.json +1 -1
- package/packages/laravel-plugin/package.json +1 -1
- package/packages/learning-engine/package.json +1 -1
- package/packages/mcp-adapter/package.json +1 -1
- package/packages/memory-engine/package.json +1 -1
- package/packages/milestone-manager/package.json +1 -1
- package/packages/model-registry/package.json +1 -1
- package/packages/nextjs-plugin/package.json +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/observability/package.json +1 -1
- package/packages/okf-indexer/package.json +1 -1
- package/packages/paperclip-integration/package.json +1 -1
- package/packages/performance-optimizer/package.json +1 -1
- package/packages/privilege-broker/package.json +1 -1
- package/packages/project-analyzer/package.json +1 -1
- package/packages/project-bootstrap/package.json +1 -1
- package/packages/projection-engine/package.json +1 -1
- package/packages/prompt-compiler/package.json +1 -1
- package/packages/prompt-versioning/package.json +1 -1
- package/packages/provider-adapter-sdk/package.json +1 -1
- package/packages/provider-router/package.json +1 -1
- package/packages/provider-selector/package.json +1 -1
- package/packages/providers/package.json +1 -1
- package/packages/qdrant-skills/package.json +1 -1
- package/packages/quota-manager/package.json +1 -1
- package/packages/rate-limiter/package.json +1 -1
- package/packages/react-vite-plugin/package.json +1 -1
- package/packages/release-manager/package.json +1 -1
- package/packages/requirement-compiler/package.json +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/scheduler/package.json +1 -1
- package/packages/scheduler-adapter/package.json +1 -1
- package/packages/session/package.json +1 -1
- package/packages/session-api/package.json +1 -1
- package/packages/session-export/package.json +1 -1
- package/packages/shared-context/package.json +1 -1
- package/packages/skill-mcp-client/package.json +1 -1
- package/packages/skill-registry/package.json +1 -1
- package/packages/skills/package.json +1 -1
- package/packages/sprint-planner/package.json +1 -1
- package/packages/subscription-engine/package.json +1 -1
- package/packages/task-compiler/package.json +1 -1
- package/packages/telegram/package.json +1 -1
- package/packages/tencentdb-memory/package.json +1 -1
- package/packages/tencentdb-sync/package.json +1 -1
- package/packages/test-data-generator/package.json +1 -1
- package/packages/test-generator/package.json +1 -1
- package/packages/todo-bd-sync/package.json +1 -1
- package/packages/token-estimation/package.json +1 -1
- package/packages/token-optimizer/package.json +1 -1
- package/packages/trajectory/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/packages/webmcp-tester/package.json +1 -1
- package/packages/workflow-events/package.json +1 -1
- package/packages/workspace-scanner/package.json +1 -1
- package/packages/worktree/package.json +1 -1
- package/packages/write-review/package.json +1 -1
package/index.ts
CHANGED
|
@@ -3016,46 +3016,20 @@ Run \`bd ready\` to see current bd issues.
|
|
|
3016
3016
|
},
|
|
3017
3017
|
});
|
|
3018
3018
|
|
|
3019
|
-
// --- Harness
|
|
3020
|
-
//
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
}
|
|
3027
|
-
const harnessMessages: HarnessMessage[] = [];
|
|
3028
|
-
|
|
3029
|
-
function addHarnessMessage(label: string, text: string, status: "wait" | "ok" | "err" = "wait") {
|
|
3030
|
-
const id = `${label}-${Date.now()}`;
|
|
3031
|
-
harnessMessages.push({ id, label, text, status });
|
|
3032
|
-
}
|
|
3033
|
-
|
|
3034
|
-
function clearHarnessMessages() {
|
|
3035
|
-
harnessMessages.length = 0;
|
|
3036
|
-
}
|
|
3037
|
-
|
|
3038
|
-
function getHarnessLines(width: number): string[] {
|
|
3039
|
-
const lines: string[] = [];
|
|
3040
|
-
if (harnessMessages.length === 0) return lines;
|
|
3041
|
-
|
|
3042
|
-
lines.push("[Pi-harness]");
|
|
3043
|
-
for (const msg of harnessMessages) {
|
|
3044
|
-
const marker = msg.status === "ok" ? "[OK]" : msg.status === "err" ? "[ERR]" : "[WAIT]";
|
|
3045
|
-
let text = ` ${marker} ${msg.label}: ${msg.text}`;
|
|
3046
|
-
if (text.length > width) {
|
|
3047
|
-
text = text.substring(0, width - 1) + "…";
|
|
3048
|
-
}
|
|
3049
|
-
lines.push(text);
|
|
3050
|
-
}
|
|
3051
|
-
return lines;
|
|
3052
|
-
}
|
|
3019
|
+
// --- Harness status (like context-mode) -----------------------
|
|
3020
|
+
// Use setStatus like context-mode does - pi.dev already handles layout for these
|
|
3021
|
+
// pi.dev doesn't know about our setWidget, so it doesn't auto-scroll
|
|
3022
|
+
const HARNESS_STATUS_KEY = "pi-harness";
|
|
3023
|
+
let harnessStatusSetStatus: ((key: string, value: string) => void) | null = null;
|
|
3024
|
+
let sessionGeneration = 0;
|
|
3025
|
+
let startupMessages_: string[] = [];
|
|
3053
3026
|
|
|
3054
3027
|
// --- Footer status (persistent badge) --------------------------------
|
|
3055
3028
|
pi.on("session_start", async (_event, ctx) => {
|
|
3056
3029
|
|
|
3057
3030
|
// Capture only the setStatus function, not the ctx
|
|
3058
3031
|
footerSetStatus = ctx.ui.setStatus.bind(ctx.ui);
|
|
3032
|
+
harnessStatusSetStatus = ctx.ui.setStatus.bind(ctx.ui);
|
|
3059
3033
|
refreshFooterStatus(
|
|
3060
3034
|
footerSetStatus,
|
|
3061
3035
|
tracker,
|
|
@@ -3064,17 +3038,13 @@ Run \`bd ready\` to see current bd issues.
|
|
|
3064
3038
|
() => lastActiveProvider,
|
|
3065
3039
|
);
|
|
3066
3040
|
|
|
3067
|
-
//
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
return getHarnessLines(width);
|
|
3072
|
-
},
|
|
3073
|
-
invalidate: () => {},
|
|
3074
|
-
}));
|
|
3041
|
+
// Increment session generation to fence late callbacks
|
|
3042
|
+
sessionGeneration++;
|
|
3043
|
+
const mySession = sessionGeneration;
|
|
3044
|
+
startupMessages_ = [];
|
|
3075
3045
|
|
|
3076
|
-
// Add initial
|
|
3077
|
-
|
|
3046
|
+
// Add initial status
|
|
3047
|
+
harnessStatusSetStatus?.(HARNESS_STATUS_KEY, "[pi-harness] Runtime: initializing");
|
|
3078
3048
|
|
|
3079
3049
|
// Wait for async inits to complete, then update status
|
|
3080
3050
|
const startupTimeout = new Promise<void>((resolve) => {
|
|
@@ -3084,39 +3054,41 @@ Run \`bd ready\` to see current bd issues.
|
|
|
3084
3054
|
Promise.allSettled(asyncInitPromises),
|
|
3085
3055
|
startupTimeout,
|
|
3086
3056
|
]).then(() => {
|
|
3087
|
-
//
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
}
|
|
3057
|
+
// Fence: ignore if session changed
|
|
3058
|
+
if (mySession !== sessionGeneration) return;
|
|
3059
|
+
|
|
3060
|
+
// Build startup messages
|
|
3061
|
+
startupMessages_ = ["Runtime: initialized"];
|
|
3093
3062
|
|
|
3094
|
-
// Add service messages from startup
|
|
3095
3063
|
for (const msg of startupMessages) {
|
|
3096
3064
|
if (msg.includes("Qdrant") && msg.includes("ready")) {
|
|
3097
|
-
|
|
3065
|
+
startupMessages_.push("Qdrant: connected");
|
|
3098
3066
|
}
|
|
3099
3067
|
if (msg.includes("Telegram") && msg.includes("ready")) {
|
|
3100
|
-
|
|
3068
|
+
startupMessages_.push("Telegram: verified");
|
|
3101
3069
|
}
|
|
3102
3070
|
if (msg.includes("Honcho")) {
|
|
3103
|
-
|
|
3071
|
+
startupMessages_.push("Honcho: registered");
|
|
3104
3072
|
}
|
|
3105
3073
|
if (msg.includes("Scanned") && msg.includes("skills")) {
|
|
3106
3074
|
const match = msg.match(/Scanned (\d+)/);
|
|
3107
3075
|
if (match) {
|
|
3108
|
-
|
|
3076
|
+
startupMessages_.push(`Skills: ${match[1]}`);
|
|
3109
3077
|
}
|
|
3110
3078
|
}
|
|
3111
3079
|
}
|
|
3080
|
+
|
|
3081
|
+
// Update status using setStatus
|
|
3082
|
+
const statusText = "[pi-harness] " + startupMessages_.join(" | ");
|
|
3083
|
+
harnessStatusSetStatus?.(HARNESS_STATUS_KEY, statusText);
|
|
3112
3084
|
});
|
|
3113
3085
|
});
|
|
3114
3086
|
|
|
3115
|
-
// Clear harness
|
|
3087
|
+
// Clear harness status on first user input
|
|
3116
3088
|
pi.on("message_start", (event) => {
|
|
3117
3089
|
const msg = event.message as { role?: string };
|
|
3118
3090
|
if (msg?.role === "user") {
|
|
3119
|
-
|
|
3091
|
+
harnessStatusSetStatus?.(HARNESS_STATUS_KEY, "");
|
|
3120
3092
|
}
|
|
3121
3093
|
});
|
|
3122
3094
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/capability-registry",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.213",
|
|
4
4
|
"description": "Capability Registry for pi-harness-runtime — tracks model capabilities and enables capability-based routing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/provider-router",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.213",
|
|
4
4
|
"description": "Enhanced Provider Router for pi-harness-runtime — intelligent routing with capabilities, costs, and quotas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/provider-router.js",
|