pi-harness-runtime 1.1.191 → 1.1.193
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 +9 -3
- 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/dist/continuation-controller.d.ts +87 -0
- package/packages/jev-judge/dist/continuation-controller.d.ts.map +1 -0
- package/packages/jev-judge/dist/continuation-controller.js +279 -0
- package/packages/jev-judge/dist/continuation-controller.js.map +1 -0
- package/packages/jev-judge/dist/todo-provider.d.ts +103 -0
- package/packages/jev-judge/dist/todo-provider.d.ts.map +1 -0
- package/packages/jev-judge/dist/todo-provider.js +85 -0
- package/packages/jev-judge/dist/todo-provider.js.map +1 -0
- package/packages/jev-judge/package.json +1 -1
- package/packages/jev-judge/src/continuation-controller.ts +374 -0
- package/packages/jev-judge/src/todo-provider.ts +185 -0
- 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/dist/conversation-bridge.d.ts +93 -0
- package/packages/notification/dist/conversation-bridge.d.ts.map +1 -0
- package/packages/notification/dist/conversation-bridge.js +294 -0
- package/packages/notification/dist/conversation-bridge.js.map +1 -0
- package/packages/notification/dist/index.d.ts +1 -0
- package/packages/notification/dist/index.d.ts.map +1 -1
- package/packages/notification/dist/index.js +1 -0
- package/packages/notification/dist/index.js.map +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/notification/src/conversation-bridge.ts +385 -0
- package/packages/notification/src/index.ts +4 -0
- 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
|
@@ -487,9 +487,12 @@ async function initQdrant(): Promise<void> {
|
|
|
487
487
|
|
|
488
488
|
// --- telegram-notifications: Telegram bot for harness event notifications ------------
|
|
489
489
|
// Sends Telegram messages when jobs complete, tasks finish, or human input is needed.
|
|
490
|
-
async function initTelegram(): Promise<void> {
|
|
490
|
+
async function initTelegram(pi: ExtensionAPI): Promise<void> {
|
|
491
491
|
try {
|
|
492
|
-
const {
|
|
492
|
+
const {
|
|
493
|
+
NotificationCenter,
|
|
494
|
+
createConversationBridge,
|
|
495
|
+
} = await import("./packages/notification/dist/index.js");
|
|
493
496
|
const { readFileSync, existsSync } = await import("node:fs");
|
|
494
497
|
const home = process.env.HOME || process.env.USERPROFILE || "/home/frappe";
|
|
495
498
|
const keysDir = `${home}/.pi-harness-runtime/keys`;
|
|
@@ -573,6 +576,9 @@ async function initTelegram(): Promise<void> {
|
|
|
573
576
|
getGLMQuotaCountdown().setNotificationCenter(center);
|
|
574
577
|
} catch { /* not critical */ }
|
|
575
578
|
|
|
579
|
+
// Register conversation bridge to send assistant responses to Telegram
|
|
580
|
+
createConversationBridge(pi, center);
|
|
581
|
+
|
|
576
582
|
// Log the actual bot username (fetched from Telegram API via getMe)
|
|
577
583
|
const botUsername = center.getTelegramBotUsername();
|
|
578
584
|
if (botUsername) {
|
|
@@ -1545,7 +1551,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
1545
1551
|
|
|
1546
1552
|
// --- telegram-notifications: Telegram bot for harness event notifications ----
|
|
1547
1553
|
// Collect promise so we can wait for initialization before showing startup notification
|
|
1548
|
-
asyncInitPromises.push(initTelegram());
|
|
1554
|
+
asyncInitPromises.push(initTelegram(pi));
|
|
1549
1555
|
|
|
1550
1556
|
// --- codex-watcher: Inject Codex plans into pi.dev + Telegram --------------
|
|
1551
1557
|
// Lightweight: polls ~/.codex/sessions/ every 5s, no LangChain daemon.
|
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.193",
|
|
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",
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Todo-Driven Continuation Controller
|
|
3
|
+
*
|
|
4
|
+
* Executes authorized todo items without repeated prompts.
|
|
5
|
+
* Uses deterministic rules + optional Jev for ambiguous cases.
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* A. Read real todo state (not bd)
|
|
9
|
+
* B. Deterministic continuation on agent_settled
|
|
10
|
+
* C. Jev for ambiguous classification only
|
|
11
|
+
* D. Single continuation controller
|
|
12
|
+
* E. Update prompts/Telegram/status together
|
|
13
|
+
*/
|
|
14
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
15
|
+
import { type TodoItem } from "./todo-provider.js";
|
|
16
|
+
/**
|
|
17
|
+
* Continuation controller configuration
|
|
18
|
+
*/
|
|
19
|
+
interface ContinuationConfig {
|
|
20
|
+
/** Minimum wait time before Jev fallback (ms) */
|
|
21
|
+
jevFallbackMinWaitMs?: number;
|
|
22
|
+
/** Jev probability threshold for routine continuation */
|
|
23
|
+
routineThreshold?: number;
|
|
24
|
+
/** Max steer attempts before reporting blocker */
|
|
25
|
+
maxSteerAttempts?: number;
|
|
26
|
+
/** Enable Jev classification for ambiguous cases */
|
|
27
|
+
enableJev?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Todo-Driven Continuation Controller
|
|
31
|
+
*
|
|
32
|
+
* Evaluates todo state on agent_settled and determines next action.
|
|
33
|
+
*/
|
|
34
|
+
export declare class TodoContinuationController {
|
|
35
|
+
private pi;
|
|
36
|
+
private config;
|
|
37
|
+
private todoProvider;
|
|
38
|
+
private jevJudge?;
|
|
39
|
+
private state;
|
|
40
|
+
constructor(pi: ExtensionAPI, config?: ContinuationConfig);
|
|
41
|
+
/**
|
|
42
|
+
* Register lifecycle hooks
|
|
43
|
+
*/
|
|
44
|
+
register(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Evaluate continuation decision
|
|
47
|
+
*/
|
|
48
|
+
private evaluateContinuation;
|
|
49
|
+
/**
|
|
50
|
+
* Determine if we should auto-continue
|
|
51
|
+
*/
|
|
52
|
+
private shouldAutoContinue;
|
|
53
|
+
/**
|
|
54
|
+
* Steer to continue a todo item
|
|
55
|
+
*/
|
|
56
|
+
steerToContinue(itemId: number): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Mark a todo item as complete
|
|
59
|
+
*/
|
|
60
|
+
markComplete(itemId: number): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* User paused
|
|
63
|
+
*/
|
|
64
|
+
pause(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Reset state for new session
|
|
67
|
+
*/
|
|
68
|
+
private reset;
|
|
69
|
+
/**
|
|
70
|
+
* Cleanup on shutdown
|
|
71
|
+
*/
|
|
72
|
+
private cleanup;
|
|
73
|
+
/**
|
|
74
|
+
* Get current state summary
|
|
75
|
+
*/
|
|
76
|
+
getState(): {
|
|
77
|
+
current: TodoItem | null;
|
|
78
|
+
next: TodoItem | null;
|
|
79
|
+
ready: number;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Create and register a todo continuation controller
|
|
84
|
+
*/
|
|
85
|
+
export declare function createTodoContinuation(pi: ExtensionAPI, config?: ContinuationConfig): TodoContinuationController;
|
|
86
|
+
export {};
|
|
87
|
+
//# sourceMappingURL=continuation-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation-controller.d.ts","sourceRoot":"","sources":["../src/continuation-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAsB,KAAK,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AA8B1F;;GAEG;AACH,UAAU,kBAAkB;IAC3B,iDAAiD;IAClD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC7B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,0BAA0B;IACtC,OAAO,CAAC,EAAE,CAAe;IACzB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAoB;IAErC,OAAO,CAAC,KAAK,CAWX;IAEF,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,kBAAkB,EAcxD;IAED;;OAEG;IACH,QAAQ,IAAI,IAAI,CAwCf;IAED;;OAEG;YACW,oBAAoB;IAsFlC;;OAEG;YACW,kBAAkB;IA6ChC;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBnD;IAED;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhD;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAIZ;IAED;;OAEG;IACH,OAAO,CAAC,KAAK;IAeb;;OAEG;IACH,OAAO,CAAC,OAAO;IAMf;;OAEG;IACH,QAAQ,IAAI;QAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAM7E;CACD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,EAAE,EAAE,YAAY,EAChB,MAAM,CAAC,EAAE,kBAAkB,GACzB,0BAA0B,CAI5B"}
|