pi-harness-runtime 1.1.273 → 1.1.275
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 +36 -32
- 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,12 +373,14 @@ async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
|
373
373
|
}
|
|
374
374
|
});
|
|
375
375
|
|
|
376
|
-
|
|
376
|
+
// Track pending user prompts with debounce for queue-based task capture
|
|
377
377
|
let pendingUserPromptCount = 0;
|
|
378
378
|
let lastPromptTime = 0;
|
|
379
|
-
|
|
379
|
+
let intakeTimer: ReturnType<typeof setTimeout> | null = null;
|
|
380
|
+
let _pendingUserMessage = ""; // Store message for delayed evaluation (unused but reserved)
|
|
381
|
+
const PROMPT_WINDOW_MS = 2000; // 2 second debounce window
|
|
380
382
|
|
|
381
|
-
// Detect user responses
|
|
383
|
+
// Detect user responses - track prompts for debounced task capture
|
|
382
384
|
pi.on("message_start", async (event) => {
|
|
383
385
|
const msg = event.message as { role?: string } | undefined;
|
|
384
386
|
if (msg?.role === "user") {
|
|
@@ -393,6 +395,35 @@ async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
|
393
395
|
pendingUserPromptCount++;
|
|
394
396
|
lastPromptTime = now;
|
|
395
397
|
logToFile("[auto-continue]", "User prompt arrived, pending count:", String(pendingUserPromptCount));
|
|
398
|
+
|
|
399
|
+
// Clear any pending timer
|
|
400
|
+
if (intakeTimer) {
|
|
401
|
+
clearTimeout(intakeTimer);
|
|
402
|
+
intakeTimer = null;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
// Set debounce timer - evaluate after window expires
|
|
406
|
+
if (taskIntakeController && todoContinuationController) {
|
|
407
|
+
const intake = taskIntakeController;
|
|
408
|
+
const controller = todoContinuationController;
|
|
409
|
+
const capturedCount = pendingUserPromptCount;
|
|
410
|
+
|
|
411
|
+
intakeTimer = setTimeout(async () => {
|
|
412
|
+
// Only trigger if multiple prompts arrived
|
|
413
|
+
if (capturedCount > 1) {
|
|
414
|
+
pendingUserPromptCount = 0;
|
|
415
|
+
logToFile("[auto-continue]", "Multiple prompts in queue, evaluating for task capture");
|
|
416
|
+
try {
|
|
417
|
+
const result = await intake.evaluateWithTodos(content, controller);
|
|
418
|
+
if (result.actionable && result.action !== "skip") {
|
|
419
|
+
await intake.requestCapture(content, "harness:task-capture");
|
|
420
|
+
}
|
|
421
|
+
} catch (err) {
|
|
422
|
+
logToFile("[auto-continue]", "Task intake error:", String(err));
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}, PROMPT_WINDOW_MS);
|
|
426
|
+
}
|
|
396
427
|
}
|
|
397
428
|
lastUserMessage = new Date();
|
|
398
429
|
if (waitingForUserSince) {
|
|
@@ -615,35 +646,8 @@ async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
|
615
646
|
logToFile("[auto-continue]", "User input received, temp pausing");
|
|
616
647
|
}
|
|
617
648
|
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
if (userMessage.trim().length > 10 && taskIntakeController && todoContinuationController && pendingUserPromptCount > 1) {
|
|
621
|
-
const intake = taskIntakeController;
|
|
622
|
-
const controller = todoContinuationController;
|
|
623
|
-
|
|
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;
|
|
646
|
-
}
|
|
649
|
+
// Task intake is now handled by debounce timer in message_start handler
|
|
650
|
+
// This ensures single trigger path for multi-prompt detection
|
|
647
651
|
}
|
|
648
652
|
});
|
|
649
653
|
|
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.275",
|
|
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.275",
|
|
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",
|