pi-harness-runtime 1.1.271 → 1.1.273
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 +42 -24
- 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
|
@@ -373,10 +373,27 @@ async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
|
373
373
|
}
|
|
374
374
|
});
|
|
375
375
|
|
|
376
|
-
//
|
|
376
|
+
// Track pending user prompts with time window for queue-based task capture
|
|
377
|
+
let pendingUserPromptCount = 0;
|
|
378
|
+
let lastPromptTime = 0;
|
|
379
|
+
const PROMPT_WINDOW_MS = 30000; // 30 second window
|
|
380
|
+
|
|
381
|
+
// Detect user responses
|
|
377
382
|
pi.on("message_start", async (event) => {
|
|
378
383
|
const msg = event.message as { role?: string } | undefined;
|
|
379
384
|
if (msg?.role === "user") {
|
|
385
|
+
// Skip harness-generated follow-ups (not real user prompts)
|
|
386
|
+
const content = (msg as { content?: string } | undefined)?.content ?? "";
|
|
387
|
+
if (!content.includes("Please add all tasks to task list todo")) {
|
|
388
|
+
const now = Date.now();
|
|
389
|
+
// Reset count if window expired
|
|
390
|
+
if (now - lastPromptTime > PROMPT_WINDOW_MS) {
|
|
391
|
+
pendingUserPromptCount = 0;
|
|
392
|
+
}
|
|
393
|
+
pendingUserPromptCount++;
|
|
394
|
+
lastPromptTime = now;
|
|
395
|
+
logToFile("[auto-continue]", "User prompt arrived, pending count:", String(pendingUserPromptCount));
|
|
396
|
+
}
|
|
380
397
|
lastUserMessage = new Date();
|
|
381
398
|
if (waitingForUserSince) {
|
|
382
399
|
waitingForUserSince = null;
|
|
@@ -599,32 +616,33 @@ async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
|
599
616
|
}
|
|
600
617
|
|
|
601
618
|
// Evaluate with task intake controller (non-blocking)
|
|
602
|
-
if
|
|
619
|
+
// Only trigger if multiple user prompts are pending in queue
|
|
620
|
+
if (userMessage.trim().length > 10 && taskIntakeController && todoContinuationController && pendingUserPromptCount > 1) {
|
|
603
621
|
const intake = taskIntakeController;
|
|
604
622
|
const controller = todoContinuationController;
|
|
605
623
|
|
|
606
|
-
//
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
//
|
|
613
|
-
intake.
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
if
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
624
|
+
// Reset count before processing
|
|
625
|
+
pendingUserPromptCount = 0;
|
|
626
|
+
logToFile("[auto-continue]", "Multiple prompts pending, evaluating for task capture");
|
|
627
|
+
|
|
628
|
+
// Get current todos for duplicate detection
|
|
629
|
+
intake.evaluateWithTodos(userMessage, controller).then(async (result) => {
|
|
630
|
+
// Recheck stopped flag AFTER await - user may have paused while Jev was evaluating
|
|
631
|
+
if (intake.isStopped()) {
|
|
632
|
+
logToFile("[auto-continue]", "Task intake skipped - stopped after evaluation");
|
|
633
|
+
return;
|
|
634
|
+
}
|
|
635
|
+
if (result.actionable && result.action !== "skip") {
|
|
636
|
+
logToFile("[auto-continue]", "Task intake result:", JSON.stringify(result));
|
|
637
|
+
// Request capture if actionable using harness custom message
|
|
638
|
+
await intake.requestCapture(userMessage, "harness:task-capture");
|
|
639
|
+
}
|
|
640
|
+
}).catch((err) => {
|
|
641
|
+
logToFile("[auto-continue]", "Task intake error:", String(err));
|
|
642
|
+
});
|
|
643
|
+
} else {
|
|
644
|
+
// Short prompt or single prompt - reset counter to prevent accumulation
|
|
645
|
+
pendingUserPromptCount = 0;
|
|
628
646
|
}
|
|
629
647
|
}
|
|
630
648
|
});
|
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.273",
|
|
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.273",
|
|
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",
|