pi-harness-runtime 1.1.272 → 1.1.274
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 +45 -5
- 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,18 +373,57 @@ 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
|
+
let lastPromptTime = 0;
|
|
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
|
|
378
382
|
|
|
379
|
-
// Detect user responses
|
|
383
|
+
// Detect user responses - track prompts for debounced task capture
|
|
380
384
|
pi.on("message_start", async (event) => {
|
|
381
385
|
const msg = event.message as { role?: string } | undefined;
|
|
382
386
|
if (msg?.role === "user") {
|
|
383
387
|
// Skip harness-generated follow-ups (not real user prompts)
|
|
384
388
|
const content = (msg as { content?: string } | undefined)?.content ?? "";
|
|
385
389
|
if (!content.includes("Please add all tasks to task list todo")) {
|
|
390
|
+
const now = Date.now();
|
|
391
|
+
// Reset count if window expired
|
|
392
|
+
if (now - lastPromptTime > PROMPT_WINDOW_MS) {
|
|
393
|
+
pendingUserPromptCount = 0;
|
|
394
|
+
}
|
|
386
395
|
pendingUserPromptCount++;
|
|
396
|
+
lastPromptTime = now;
|
|
387
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
|
+
}
|
|
388
427
|
}
|
|
389
428
|
lastUserMessage = new Date();
|
|
390
429
|
if (waitingForUserSince) {
|
|
@@ -613,7 +652,7 @@ async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
|
613
652
|
const intake = taskIntakeController;
|
|
614
653
|
const controller = todoContinuationController;
|
|
615
654
|
|
|
616
|
-
//
|
|
655
|
+
// Reset count before processing
|
|
617
656
|
pendingUserPromptCount = 0;
|
|
618
657
|
logToFile("[auto-continue]", "Multiple prompts pending, evaluating for task capture");
|
|
619
658
|
|
|
@@ -632,8 +671,9 @@ async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
|
632
671
|
}).catch((err) => {
|
|
633
672
|
logToFile("[auto-continue]", "Task intake error:", String(err));
|
|
634
673
|
});
|
|
635
|
-
} else
|
|
636
|
-
|
|
674
|
+
} else {
|
|
675
|
+
// Short prompt or single prompt - reset counter to prevent accumulation
|
|
676
|
+
pendingUserPromptCount = 0;
|
|
637
677
|
}
|
|
638
678
|
}
|
|
639
679
|
});
|
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.274",
|
|
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.274",
|
|
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",
|