pi-harness-runtime 1.1.305 → 1.1.307

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.
Files changed (109) hide show
  1. package/index.ts +82 -1
  2. package/package.json +1 -1
  3. package/packages/a2a-adapter/package.json +1 -1
  4. package/packages/agent-policy/package.json +1 -1
  5. package/packages/architecture-generator/package.json +1 -1
  6. package/packages/auth/package.json +1 -1
  7. package/packages/autonomous-refactor/package.json +1 -1
  8. package/packages/autonomous-runtime/package.json +1 -1
  9. package/packages/cache-strategy/package.json +1 -1
  10. package/packages/capability-registry/package.json +1 -1
  11. package/packages/checkpoint/package.json +1 -1
  12. package/packages/cli-plugin-sdk/package.json +1 -1
  13. package/packages/clipboard/package.json +1 -1
  14. package/packages/clipboard-plugin/package.json +1 -1
  15. package/packages/code-generation/package.json +1 -1
  16. package/packages/code-review/package.json +1 -1
  17. package/packages/codex-adapter/package.json +1 -1
  18. package/packages/codex-watcher/package.json +1 -1
  19. package/packages/config-capture/package.json +1 -1
  20. package/packages/context-compiler/package.json +1 -1
  21. package/packages/context-discovery/package.json +1 -1
  22. package/packages/context-manager/package.json +1 -1
  23. package/packages/cookie-sanitizer/package.json +1 -1
  24. package/packages/cost-optimizer/package.json +1 -1
  25. package/packages/dependency-analyzer/package.json +1 -1
  26. package/packages/django-plugin/package.json +1 -1
  27. package/packages/doc-generator/package.json +1 -1
  28. package/packages/e2e-tester/package.json +1 -1
  29. package/packages/evaluation-engine/package.json +1 -1
  30. package/packages/evaluation-runner/package.json +1 -1
  31. package/packages/event-bus/package.json +1 -1
  32. package/packages/event-store/package.json +1 -1
  33. package/packages/experience-replay/package.json +1 -1
  34. package/packages/feedback-collector/package.json +1 -1
  35. package/packages/file-copy-helper/package.json +1 -1
  36. package/packages/framework-detector/package.json +1 -1
  37. package/packages/framework-plugin-sdk/package.json +1 -1
  38. package/packages/frappe-plugin/package.json +1 -1
  39. package/packages/generic-web-plugin/package.json +1 -1
  40. package/packages/health-monitor/package.json +1 -1
  41. package/packages/intent-analyzer/package.json +1 -1
  42. package/packages/jev-judge/package.json +1 -1
  43. package/packages/knowledge-graph/package.json +1 -1
  44. package/packages/knowledge-retrieval/package.json +1 -1
  45. package/packages/laravel-plugin/package.json +1 -1
  46. package/packages/learning-engine/package.json +1 -1
  47. package/packages/mcp-adapter/package.json +1 -1
  48. package/packages/memory-engine/package.json +1 -1
  49. package/packages/milestone-manager/package.json +1 -1
  50. package/packages/model-registry/package.json +1 -1
  51. package/packages/nextjs-plugin/package.json +1 -1
  52. package/packages/notification/dist/adapters/telegram-adapter.d.ts +8 -1
  53. package/packages/notification/dist/adapters/telegram-adapter.d.ts.map +1 -1
  54. package/packages/notification/dist/adapters/telegram-adapter.js +22 -18
  55. package/packages/notification/dist/adapters/telegram-adapter.js.map +1 -1
  56. package/packages/notification/dist/types.d.ts +1 -1
  57. package/packages/notification/dist/types.d.ts.map +1 -1
  58. package/packages/notification/package.json +1 -1
  59. package/packages/notification/src/adapters/telegram-adapter.ts +23 -20
  60. package/packages/notification/src/types.ts +2 -1
  61. package/packages/observability/package.json +1 -1
  62. package/packages/okf-indexer/package.json +1 -1
  63. package/packages/paperclip-integration/package.json +1 -1
  64. package/packages/performance-optimizer/package.json +1 -1
  65. package/packages/privilege-broker/package.json +1 -1
  66. package/packages/project-analyzer/package.json +1 -1
  67. package/packages/project-bootstrap/package.json +1 -1
  68. package/packages/projection-engine/package.json +1 -1
  69. package/packages/prompt-compiler/package.json +1 -1
  70. package/packages/prompt-versioning/package.json +1 -1
  71. package/packages/provider-adapter-sdk/package.json +1 -1
  72. package/packages/provider-router/package.json +1 -1
  73. package/packages/provider-selector/package.json +1 -1
  74. package/packages/providers/package.json +1 -1
  75. package/packages/qdrant-skills/package.json +1 -1
  76. package/packages/quota-manager/package.json +1 -1
  77. package/packages/rate-limiter/package.json +1 -1
  78. package/packages/react-vite-plugin/package.json +1 -1
  79. package/packages/release-manager/package.json +1 -1
  80. package/packages/requirement-compiler/package.json +1 -1
  81. package/packages/runtime/package.json +1 -1
  82. package/packages/scheduler/package.json +1 -1
  83. package/packages/scheduler-adapter/package.json +1 -1
  84. package/packages/session/package.json +1 -1
  85. package/packages/session-api/package.json +1 -1
  86. package/packages/session-export/package.json +1 -1
  87. package/packages/shared-context/package.json +1 -1
  88. package/packages/skill-mcp-client/package.json +1 -1
  89. package/packages/skill-registry/package.json +1 -1
  90. package/packages/skills/package.json +1 -1
  91. package/packages/sprint-planner/package.json +1 -1
  92. package/packages/subscription-engine/package.json +1 -1
  93. package/packages/task-compiler/package.json +1 -1
  94. package/packages/telegram/package.json +1 -1
  95. package/packages/tencentdb-memory/package.json +1 -1
  96. package/packages/tencentdb-sync/package.json +1 -1
  97. package/packages/test-data-generator/package.json +1 -1
  98. package/packages/test-generator/package.json +1 -1
  99. package/packages/todo-bd-sync/package.json +1 -1
  100. package/packages/token-estimation/package.json +1 -1
  101. package/packages/token-optimizer/package.json +1 -1
  102. package/packages/trajectory/package.json +1 -1
  103. package/packages/tui/package.json +1 -1
  104. package/packages/types/package.json +1 -1
  105. package/packages/webmcp-tester/package.json +1 -1
  106. package/packages/workflow-events/package.json +1 -1
  107. package/packages/workspace-scanner/package.json +1 -1
  108. package/packages/worktree/package.json +1 -1
  109. package/packages/write-review/package.json +1 -1
package/index.ts CHANGED
@@ -932,6 +932,10 @@ const codexSessionState = {
932
932
  currentProjectRoot: null as string | null,
933
933
  currentPlanCandidate: null as { ordinal: number; text: string; timestamp: number } | null,
934
934
  pendingActions: new Map<string, PendingPINGPONGAction>(),
935
+ // --- greeting state ---
936
+ greetingBaselineSessionId: null as string | null, // set on watcher startup
937
+ greetedSessions: new Set<string>(), // "piSessionId:codexSessionId"
938
+ pendingGreeting: null as { sessionId: string; projectRoot: string; timestamp: number } | null,
935
939
  };
936
940
 
937
941
  // PING_PONG callback action type (different from generic APPROVE/REJECT)
@@ -1110,7 +1114,7 @@ async function initTelegram(pi: ExtensionAPI): Promise<void> {
1110
1114
  const { parseCallbackData, CallbackActions } = await import(
1111
1115
  "./packages/notification/dist/telegram-webhook-handler.js"
1112
1116
  );
1113
- center.setCallbackHandler(async (data: string, _query: { id: string; from: { id: number } }) => {
1117
+ center.setCallbackHandler(async (data: string, _query: { id: string; from: { id: number } }, acknowledge) => {
1114
1118
  const parsed = parseCallbackData(data);
1115
1119
  logToFile("[TelegramCallback]", `action=${parsed.action} target=${parsed.targetId}`);
1116
1120
 
@@ -1131,8 +1135,10 @@ async function initTelegram(pi: ExtensionAPI): Promise<void> {
1131
1135
  const result = await advanceCodexTask(parsed.targetId, internalAction, pi);
1132
1136
  if (result.success) {
1133
1137
  logToFile("[TelegramCallback]", `PING_PONG ${internalAction} succeeded`);
1138
+ await acknowledge(`Action ${internalAction} applied`);
1134
1139
  } else {
1135
1140
  logToFile("[TelegramCallback]", `PING_PONG ${internalAction} failed: ${result.error}`);
1141
+ await acknowledge(`Action failed: ${result.error}`);
1136
1142
  }
1137
1143
  return; // Don't fall through to generic handlers
1138
1144
  }
@@ -2514,12 +2520,87 @@ export default function (pi: ExtensionAPI) {
2514
2520
  }, _SETTLE_DELAY_MS);
2515
2521
  }
2516
2522
 
2523
+ // --- greeting: Track baseline session on watcher startup ---
2524
+ // Get the current Codex session ID as baseline - don't greet it
2525
+ try {
2526
+ const { getLatestSession } = await import("./packages/codex-watcher/dist/index.js");
2527
+ const baseline = getLatestSession();
2528
+ if (baseline) {
2529
+ codexSessionState.greetingBaselineSessionId = baseline.id;
2530
+ logToFile("[codex-greeting]", "Baseline session set:", baseline.id);
2531
+ }
2532
+ } catch {
2533
+ logToFile("[codex-greeting]", "Could not get baseline session");
2534
+ }
2535
+
2536
+ // Deliver any pending greeting if Pi session is now active
2537
+ if (codexSessionState.pendingGreeting && _piSessionCwd) {
2538
+ const pg = codexSessionState.pendingGreeting;
2539
+ // Check expiry (5 minutes)
2540
+ if (Date.now() - pg.timestamp > 5 * 60 * 1000) {
2541
+ logToFile("[codex-greeting]", "Pending greeting expired");
2542
+ codexSessionState.pendingGreeting = null;
2543
+ } else if (_piSessionCwd === pg.projectRoot) {
2544
+ // Roots match - send greeting
2545
+ const greetKey = `${_piSessionCwd}:${pg.sessionId}`;
2546
+ if (!codexSessionState.greetedSessions.has(greetKey)) {
2547
+ logToFile("[codex-greeting]", "Delivering pending greeting for:", pg.sessionId);
2548
+ void pi.sendUserMessage(
2549
+ `Codex opened in this workspace (session ${pg.sessionId.slice(0, 8)}...). Say hello briefly, then wait for the user's next instruction.`
2550
+ );
2551
+ codexSessionState.greetedSessions.add(greetKey);
2552
+ }
2553
+ codexSessionState.pendingGreeting = null;
2554
+ }
2555
+ }
2556
+
2517
2557
  const codexHandle = startWatcher({
2518
2558
  pollIntervalMs: 5000,
2519
2559
  maxIdlePolls: Infinity,
2520
2560
  onSessionChange: (session) => {
2521
2561
  if (session) {
2522
2562
  logToFile("[codex]", `Session started: ${session.threadName}, root: ${session.projectRoot}`);
2563
+
2564
+ // --- Same-workspace greeting ---
2565
+ const codexSessionId = session.id;
2566
+ const codexProjectRoot = session.projectRoot;
2567
+
2568
+ // Skip if this is the baseline session (Pi just restarted)
2569
+ if (codexSessionId === codexSessionState.greetingBaselineSessionId) {
2570
+ logToFile("[codex-greeting]", "Skipping baseline session:", codexSessionId);
2571
+ } else {
2572
+ // Check for duplicate greeting
2573
+ const piCwd = _piSessionCwd || "";
2574
+ const greetKey = `${piCwd}:${codexSessionId}`;
2575
+ if (!codexSessionState.greetedSessions.has(greetKey)) {
2576
+ // Check root match
2577
+ if (piCwd && codexProjectRoot && piCwd === codexProjectRoot) {
2578
+ logToFile("[codex-greeting]", "Same workspace detected:", codexSessionId);
2579
+
2580
+ if (codexSessionState.currentCodexSessionId) {
2581
+ // Pi session active - send greeting now
2582
+ logToFile("[codex-greeting]", "Sending greeting for:", codexSessionId);
2583
+ void pi.sendUserMessage(
2584
+ `Codex opened in this workspace (session ${codexSessionId.slice(0, 8)}...). Say hello briefly, then wait for the user's next instruction.`
2585
+ );
2586
+ codexSessionState.greetedSessions.add(greetKey);
2587
+ } else {
2588
+ // Pi session not active yet - queue for delivery on session_start
2589
+ logToFile("[codex-greeting]", "Pi not active, queueing greeting for:", codexSessionId);
2590
+ codexSessionState.pendingGreeting = {
2591
+ sessionId: codexSessionId,
2592
+ projectRoot: codexProjectRoot,
2593
+ timestamp: Date.now(),
2594
+ };
2595
+ }
2596
+ } else {
2597
+ logToFile("[codex-greeting]", "Different workspace or Pi cwd unknown, skipping greeting");
2598
+ }
2599
+ } else {
2600
+ logToFile("[codex-greeting]", "Already greeted:", greetKey);
2601
+ }
2602
+ }
2603
+
2523
2604
  codexSessionState.currentCodexSessionId = session.id;
2524
2605
  codexSessionState.currentProjectRoot = session.projectRoot;
2525
2606
  nc("CodexSessionStarted", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-harness-runtime",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "[BETA] Codex-style /usage status + autonomous coding harness for pi. Not production ready — expect breaking changes.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/a2a-adapter",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "description": "Google Agent-to-Agent (A2A) protocol adapter for pi-harness",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/agent-policy",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Agent policy runtime for pi-harness - enforces mandatory rule delivery and mutation gating",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/architecture-generator",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Generate ADR and Mermaid diagrams from project analysis",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/auth",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "pi-harness-runtime — auth",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/autonomous-refactor",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "description": "Autonomous refactoring engine",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/autonomous-runtime",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Autonomous Operations Runtime — task inbox, lease management, and worker lifecycle (RFC-0101)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/cache-strategy",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "description": "Smart caching with TTL and invalidation strategies (RFC-0022)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/capability-registry",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
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/checkpoint",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Enhanced checkpoint system with incremental snapshots, diff-based storage, and recovery strategies",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/cli-plugin-sdk",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "description": "CLI Plugin SDK for pi-harness — install, list, remove, update, invoke plugins",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/clipboard",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/clipboard-plugin",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/code-generation",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Code generation pipeline for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/code-review",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Automated code review engine for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/codex-adapter",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "description": "OpenAI Codex provider adapter for pi-harness",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/codex-watcher",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Watches Codex CLI sessions and emits visible messages for PING-PONG monitoring",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/config-capture",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Auto-capture API-fetched configuration values to AGENTS.md",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/context-compiler",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Bounded context selection engine for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/context-discovery",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/context-manager",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Context Window Manager — prevents model context overflow via compaction and resume prompts (RFC-0010)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/cookie-sanitizer",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "pi-harness-runtime — cookie sanitizer (provider-quota cookie file normaliser)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/cost-optimizer",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Cost Optimizer for pi-harness-runtime — budget tracking, forecasting, and model selection optimization",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/dependency-analyzer",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/django-plugin",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Django framework analysis — models, management commands, settings",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/doc-generator",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Auto-Doc Generator — generate documentation from source code (RFC-0014)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/e2e-tester",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "WebMCP-powered E2E testing for pi-harness - natural language test scenarios",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/evaluation-engine",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Evaluation engine for pi-harness runtime (RFC-0057)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/evaluation-runner",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "description": "Framework-agnostic evaluation framework for AI outputs (RFC-0020)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/event-bus",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/event-store",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/experience-replay",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Experience replay for debugging and reproducibility (RFC-0059)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/feedback-collector",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "description": "Collect and aggregate human/automated feedback (RFC-0021)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/file-copy-helper",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Injects cp/sudo cp rule when user asks to mimic/copy files",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/framework-detector",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Framework detection system for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/framework-plugin-sdk",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Framework plugin SDK for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/frappe-plugin",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Frappe/ERPNext framework analysis — DocTypes, hooks, bench sites, site config",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/generic-web-plugin",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Generic web framework analysis — REST/GraphQL endpoints, OpenAPI, auth",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/health-monitor",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "description": "Health monitoring and auto-healing",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/intent-analyzer",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/jev-judge",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Jev Judge - Structured decision model for agent routing, E2E testing, and automated decisions",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/knowledge-graph",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Knowledge Graph extraction and provenance linking for SKILL.md files",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/knowledge-retrieval",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Knowledge retrieval via TencentDB-Agent-Memory MCP (RFC-0105)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/laravel-plugin",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Laravel framework analysis — artisan commands, Eloquent models, Blade",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/learning-engine",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Learning engine for extracting lessons from runtime execution (RFC-0058)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/mcp-adapter",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "type": "module",
5
5
  "description": "MCP server adapter for pi-harness — exposes harness capabilities as MCP tools/resources/prompts (RFC-0068)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/memory-engine",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Memory engine with OKF integration for durable knowledge management (RFC-0060)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/milestone-manager",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Track milestones and alerts when items are at risk",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/model-registry",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Model Registry for pi-harness-runtime — centralized model metadata with pricing",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/nextjs-plugin",
3
- "version": "1.1.305",
3
+ "version": "1.1.307",
4
4
  "description": "Next.js framework detection and analysis for pi-harness-runtime (RFC-0062)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -88,7 +88,14 @@ export declare class TelegramAdapter extends BaseChannelAdapter {
88
88
  */
89
89
  private parseCallbackQuery;
90
90
  /**
91
- * Answer a callback query to remove loading state
91
+ * Acknowledge a callback query - call this after validation in the handler
92
+ * @param callbackQueryId - The callback query ID to acknowledge
93
+ * @param message - Optional message to show in the popup alert
94
+ */
95
+ acknowledgeCallback(callbackQueryId: string, message?: string): Promise<void>;
96
+ /**
97
+ * Answer a callback query to remove loading state (internal legacy)
98
+ * @deprecated Use acknowledgeCallback() from the handler instead
92
99
  */
93
100
  private answerCallbackQuery;
94
101
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/telegram-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAEX,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EAEvB,cAAc,EACd,MAAM,aAAa,CAAC;AAErB;;GAEG;AAEH,KAAK,sBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAY9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxD,qBAAa,eAAgB,SAAQ,kBAAkB;IACvD,QAAQ,CAAC,EAAE,cAAc;IACzB,QAAQ,CAAC,IAAI,cAAc;IAC3B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,gBAAgB,CAA2B;IAEnD,0BAA0B,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAEpD;IAED,kBAAkB,IAAI,OAAO,CAE5B;IAED,YAAY,MAAM,EAAE,cAAc,EAEjC;IAED;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAEzD;IAED;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAEvD;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAErC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAEM,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CA8BnC;IAED;;OAEG;IACH,YAAY,IAAI,IAAI,CAWnB;IAED;;OAEG;IACH,WAAW,IAAI,IAAI,CAOlB;IAED;;OAEG;YACW,IAAI;IA0DlB;;OAEG;YACW,aAAa;IA8C3B;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA0BvD;IAED,gFAAgF;YAClE,mBAAmB;IAkCjC;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2FrE;IAED;;;OAGG;IACG,YAAY,CACjB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,SAA8B,GACvC,OAAO,CAAC,kBAAkB,CAAC,CA+D7B;IAED;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BxE;IAED;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;YACW,mBAAmB;IAgBjC;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0BvD;IAED;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAY9D;IAED,OAAO,CAAC,aAAa;IAsDrB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,cAAc;CAyBtB"}
1
+ {"version":3,"file":"telegram-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/telegram-adapter.ts"],"names":[],"mappings":"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"}