pi-harness-runtime 1.1.309 → 1.1.310
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 +49 -18
- 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
|
@@ -385,12 +385,38 @@ async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
|
385
385
|
const _SETTLE_DELAY_MS = 5000; // Wait 5 seconds after plan ready
|
|
386
386
|
|
|
387
387
|
// Capture our Pi session's cwd on session_start
|
|
388
|
-
pi.on("session_start", () => {
|
|
388
|
+
pi.on("session_start", async () => {
|
|
389
389
|
try {
|
|
390
390
|
_piSessionCwd = realpathSync(process.cwd());
|
|
391
391
|
logToFile("[codex-trigger]", "Pi session cwd captured:", _piSessionCwd);
|
|
392
|
+
|
|
393
|
+
// --- Drain pending greeting when Pi becomes active ---
|
|
394
|
+
if (codexSessionState.pendingGreeting) {
|
|
395
|
+
const pg = codexSessionState.pendingGreeting;
|
|
396
|
+
// Check expiry (5 minutes)
|
|
397
|
+
if (Date.now() - pg.timestamp > 5 * 60 * 1000) {
|
|
398
|
+
logToFile("[codex-greeting]", "Pending greeting expired");
|
|
399
|
+
codexSessionState.pendingGreeting = null;
|
|
400
|
+
} else if (_piSessionCwd === pg.projectRoot) {
|
|
401
|
+
// Roots match - send greeting with followUp mode
|
|
402
|
+
const greetKey = `${_piSessionCwd}:${pg.sessionId}`;
|
|
403
|
+
if (!codexSessionState.greetedSessions.has(greetKey)) {
|
|
404
|
+
logToFile("[codex-greeting]", "Delivering pending greeting for:", pg.sessionId);
|
|
405
|
+
try {
|
|
406
|
+
await pi.sendUserMessage(
|
|
407
|
+
`Codex opened in this workspace (session ${pg.sessionId.slice(0, 8)}...). Say hello briefly, then wait for the user's next instruction.`,
|
|
408
|
+
{ deliverAs: "followUp" }
|
|
409
|
+
);
|
|
410
|
+
codexSessionState.greetedSessions.add(greetKey);
|
|
411
|
+
} catch (err) {
|
|
412
|
+
logToFile("[codex-greeting]", "Failed to deliver greeting:", String(err));
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
codexSessionState.pendingGreeting = null;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
392
418
|
} catch {
|
|
393
|
-
|
|
419
|
+
logToFile("[codex-greeting]", "Error in session_start greeting drain");
|
|
394
420
|
}
|
|
395
421
|
});
|
|
396
422
|
|
|
@@ -2593,22 +2619,27 @@ export default function (pi: ExtensionAPI) {
|
|
|
2593
2619
|
if (piCwd && codexProjectRoot && piCwd === codexProjectRoot) {
|
|
2594
2620
|
logToFile("[codex-greeting]", "Same workspace detected:", codexSessionId);
|
|
2595
2621
|
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2622
|
+
// Use _piSessionCwd (Pi state) to check if Pi is active, not Codex state
|
|
2623
|
+
if (piCwd) {
|
|
2624
|
+
// Pi session active - send greeting now with await for safe delivery
|
|
2625
|
+
logToFile("[codex-greeting]", "Sending greeting for:", codexSessionId);
|
|
2626
|
+
try {
|
|
2627
|
+
await pi.sendUserMessage(
|
|
2628
|
+
`Codex opened in this workspace (session ${codexSessionId.slice(0, 8)}...). Say hello briefly, then wait for the user's next instruction.`,
|
|
2629
|
+
{ deliverAs: "followUp" }
|
|
2630
|
+
);
|
|
2631
|
+
codexSessionState.greetedSessions.add(greetKey);
|
|
2632
|
+
} catch (err) {
|
|
2633
|
+
logToFile("[codex-greeting]", "Failed to deliver greeting:", String(err));
|
|
2634
|
+
}
|
|
2635
|
+
} else {
|
|
2636
|
+
// Pi session not active yet - queue for delivery on session_start
|
|
2637
|
+
logToFile("[codex-greeting]", "Pi not active, queueing greeting for:", codexSessionId);
|
|
2638
|
+
codexSessionState.pendingGreeting = {
|
|
2639
|
+
sessionId: codexSessionId,
|
|
2640
|
+
projectRoot: codexProjectRoot,
|
|
2641
|
+
timestamp: Date.now(),
|
|
2642
|
+
};
|
|
2612
2643
|
}
|
|
2613
2644
|
} else {
|
|
2614
2645
|
logToFile("[codex-greeting]", "Different workspace or Pi cwd unknown, skipping greeting");
|
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.310",
|
|
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.310",
|
|
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",
|