pi-harness-runtime 1.1.297 → 1.1.299
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 +63 -26
- 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
|
@@ -996,10 +996,47 @@ async function initTelegram(pi: ExtensionAPI): Promise<void> {
|
|
|
996
996
|
|
|
997
997
|
// Register message handler to forward Telegram messages to Pi
|
|
998
998
|
center.setMessageHandler(async (text: string, _chatId: string) => {
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
999
|
+
// Parse /task <session-id> <action> commands
|
|
1000
|
+
const taskCommandMatch = text.match(/^\/task\s+(\S+)\s+(code|review|done)\s*$/i);
|
|
1001
|
+
if (taskCommandMatch) {
|
|
1002
|
+
const [, sessionId, action] = taskCommandMatch;
|
|
1003
|
+
|
|
1004
|
+
// Find matching Codex session
|
|
1005
|
+
const matchingSession = deliveredEvents.get(sessionId) ||
|
|
1006
|
+
Array.from(deliveredEvents.values()).find(e => e.codexSessionId === sessionId);
|
|
1007
|
+
|
|
1008
|
+
if (matchingSession && matchingSession.codexSessionId === currentCodexSessionId) {
|
|
1009
|
+
logToFile("[codex-trigger]", `Human command: ${action} for session ${sessionId}`);
|
|
1010
|
+
|
|
1011
|
+
if (action.toLowerCase() === "code") {
|
|
1012
|
+
// Advance to code stage - send a message to Pi
|
|
1013
|
+
await pi.sendUserMessage(
|
|
1014
|
+
`Human approved the plan. Proceed to implement: ${matchingSession.planPath}`,
|
|
1015
|
+
{ deliverAs: "steer" }
|
|
1016
|
+
);
|
|
1017
|
+
matchingSession.status = "triggered";
|
|
1018
|
+
logToFile("[codex-trigger]", "Triggered Pi for plan:", matchingSession.planPath);
|
|
1019
|
+
} else if (action.toLowerCase() === "review") {
|
|
1020
|
+
// Advance to review stage
|
|
1021
|
+
await pi.sendUserMessage(
|
|
1022
|
+
"Human requests a review of the implementation.",
|
|
1023
|
+
{ deliverAs: "steer" }
|
|
1024
|
+
);
|
|
1025
|
+
} else if (action.toLowerCase() === "done") {
|
|
1026
|
+
// Mark as done
|
|
1027
|
+
matchingSession.status = "done";
|
|
1028
|
+
logToFile("[codex-trigger]", "Human marked session done:", sessionId);
|
|
1029
|
+
}
|
|
1030
|
+
return;
|
|
1031
|
+
} else {
|
|
1032
|
+
logToFile("[codex-trigger]", `Unknown session or wrong project: ${sessionId}`);
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
logToFile("[TelegramInbound]", `Forwarding message to Pi: "${text.slice(0, 50)}..."`);
|
|
1037
|
+
// Forward the message to Pi as a user message
|
|
1038
|
+
await pi.sendUserMessage(text, { deliverAs: "steer" });
|
|
1039
|
+
});
|
|
1003
1040
|
|
|
1004
1041
|
// Wire to singleton nc() helper so all event emitters can reach Telegram
|
|
1005
1042
|
_nc = {
|
|
@@ -2343,30 +2380,30 @@ export default function (pi: ExtensionAPI) {
|
|
|
2343
2380
|
const hasReviewMarker = classification === "unknown" && detectReviewMarker(msg.text);
|
|
2344
2381
|
if (classification !== "plan" && classification !== "mixed" && !hasReviewMarker) continue;
|
|
2345
2382
|
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2383
|
+
// Determine stage (for future use in event metadata)
|
|
2384
|
+
const _stage = hasReviewMarker ? "review" : classification;
|
|
2385
|
+
|
|
2386
|
+
// Only start settle timer for plans (not reviews)
|
|
2387
|
+
// Reviews don't have a file to watch
|
|
2388
|
+
if (!hasReviewMarker && currentProjectRoot) {
|
|
2389
|
+
const planPath = findPlanFile(currentProjectRoot);
|
|
2390
|
+
if (planPath) {
|
|
2391
|
+
// Track plan candidate
|
|
2392
|
+
currentPlanCandidate = { ordinal: msg.ordinal, text: msg.text, timestamp: Date.now() };
|
|
2393
|
+
logToFile("[codex-trigger]", "Plan message + wiki file detected:", planPath);
|
|
2394
|
+
startSettleTimer(planPath, msg.ordinal);
|
|
2395
|
+
} else {
|
|
2396
|
+
// No wiki/plan.md found yet - wait for file to appear
|
|
2397
|
+
logToFile("[codex-trigger]", "Plan message but no wiki/plan.md yet, waiting...");
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2363
2400
|
|
|
2364
2401
|
// Emit Telegram alert with full content
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2402
|
+
const planPath = currentProjectRoot ? findPlanFile(currentProjectRoot) : undefined;
|
|
2403
|
+
|
|
2404
|
+
// Use event type based on stage
|
|
2405
|
+
if (hasReviewMarker) {
|
|
2406
|
+
nc("CodexReviewDetected", {
|
|
2370
2407
|
requirement: msg.text,
|
|
2371
2408
|
taskTitle: currentCodexSessionId || `Ordinal ${msg.ordinal}`,
|
|
2372
2409
|
details: {
|
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.299",
|
|
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.299",
|
|
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",
|