pi-harness-runtime 1.1.300 → 1.1.301
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 +33 -17
- 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
|
@@ -903,6 +903,26 @@ async function initQdrant(): Promise<void> {
|
|
|
903
903
|
|
|
904
904
|
// --- telegram-notifications: Telegram bot for harness event notifications ------------
|
|
905
905
|
// Sends Telegram messages when jobs complete, tasks finish, or human input is needed.
|
|
906
|
+
|
|
907
|
+
// Shared Codex session state - accessible by both initTelegram() and the watcher
|
|
908
|
+
interface PlanEvent {
|
|
909
|
+
codexSessionId: string;
|
|
910
|
+
planPath: string;
|
|
911
|
+
planHash: string;
|
|
912
|
+
status: "observed" | "settling" | "ready" | "triggered" | "failed" | "manual_wait" | "done";
|
|
913
|
+
ordinal: number;
|
|
914
|
+
lastActivity: number;
|
|
915
|
+
settleTimer: ReturnType<typeof setTimeout> | null;
|
|
916
|
+
fileStableSince: number;
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
const codexSessionState = {
|
|
920
|
+
deliveredEvents: new Map<string, PlanEvent>(),
|
|
921
|
+
currentCodexSessionId: null as string | null,
|
|
922
|
+
currentProjectRoot: null as string | null,
|
|
923
|
+
currentPlanCandidate: null as { ordinal: number; text: string; timestamp: number } | null,
|
|
924
|
+
};
|
|
925
|
+
|
|
906
926
|
async function initTelegram(pi: ExtensionAPI): Promise<void> {
|
|
907
927
|
addHarnessMessage("Telegram", "initializing", "wait");
|
|
908
928
|
try {
|
|
@@ -1002,10 +1022,10 @@ async function initTelegram(pi: ExtensionAPI): Promise<void> {
|
|
|
1002
1022
|
const [, sessionId, action] = taskCommandMatch;
|
|
1003
1023
|
|
|
1004
1024
|
// Find matching Codex session
|
|
1005
|
-
const matchingSession = deliveredEvents.get(sessionId) ||
|
|
1006
|
-
Array.from(deliveredEvents.values()).find(e => e.codexSessionId === sessionId);
|
|
1025
|
+
const matchingSession = codexSessionState.deliveredEvents.get(sessionId) ||
|
|
1026
|
+
Array.from(codexSessionState.deliveredEvents.values()).find(e => e.codexSessionId === sessionId);
|
|
1007
1027
|
|
|
1008
|
-
if (matchingSession && matchingSession.codexSessionId === currentCodexSessionId) {
|
|
1028
|
+
if (matchingSession && matchingSession.codexSessionId === codexSessionState.currentCodexSessionId) {
|
|
1009
1029
|
logToFile("[codex-trigger]", `Human command: ${action} for session ${sessionId}`);
|
|
1010
1030
|
|
|
1011
1031
|
if (action.toLowerCase() === "code") {
|
|
@@ -1028,15 +1048,15 @@ async function initTelegram(pi: ExtensionAPI): Promise<void> {
|
|
|
1028
1048
|
logToFile("[codex-trigger]", "Human marked session done:", sessionId);
|
|
1029
1049
|
}
|
|
1030
1050
|
return;
|
|
1031
|
-
|
|
1032
|
-
|
|
1051
|
+
} else {
|
|
1052
|
+
logToFile("[codex-trigger]", `Unknown session or wrong project: ${sessionId}`);
|
|
1053
|
+
}
|
|
1033
1054
|
}
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
});
|
|
1055
|
+
|
|
1056
|
+
logToFile("[TelegramInbound]", `Forwarding message to Pi: "${text.slice(0, 50)}..."`);
|
|
1057
|
+
// Forward the message to Pi as a user message
|
|
1058
|
+
await pi.sendUserMessage(text, { deliverAs: "steer" });
|
|
1059
|
+
});
|
|
1040
1060
|
|
|
1041
1061
|
// Wire to singleton nc() helper so all event emitters can reach Telegram
|
|
1042
1062
|
_nc = {
|
|
@@ -2190,10 +2210,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
2190
2210
|
// Collect async init promises so we can wait for them before showing startup notification
|
|
2191
2211
|
const asyncInitPromises: Promise<unknown>[] = [];
|
|
2192
2212
|
|
|
2193
|
-
//
|
|
2194
|
-
const deliveredEvents = new Map<string, PlanEvent>();
|
|
2195
|
-
let currentCodexSessionId: string | null = null;
|
|
2196
|
-
let currentProjectRoot: string | null = null;
|
|
2213
|
+
// Note: Session state moved to module-level codexSessionState object
|
|
2197
2214
|
|
|
2198
2215
|
// --- todo-bd-sync: Initialize two-way sync with bd ---------------
|
|
2199
2216
|
// Start async init but don't await - runs in background
|
|
@@ -2242,8 +2259,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
2242
2259
|
settleTimer: ReturnType<typeof setTimeout> | null;
|
|
2243
2260
|
fileStableSince: number;
|
|
2244
2261
|
}
|
|
2245
|
-
//
|
|
2246
|
-
let _currentPlanCandidate: { ordinal: number; text: string; timestamp: number } | null = null;
|
|
2262
|
+
// Use codexSessionState object for all session tracking
|
|
2247
2263
|
let lastActivityTime = 0;
|
|
2248
2264
|
|
|
2249
2265
|
// Check if plan file exists and is stable (mtime unchanged)
|
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.301",
|
|
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.301",
|
|
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",
|