pi-harness-runtime 1.1.301 → 1.1.303

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 (101) hide show
  1. package/index.ts +68 -50
  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/package.json +1 -1
  53. package/packages/observability/package.json +1 -1
  54. package/packages/okf-indexer/package.json +1 -1
  55. package/packages/paperclip-integration/package.json +1 -1
  56. package/packages/performance-optimizer/package.json +1 -1
  57. package/packages/privilege-broker/package.json +1 -1
  58. package/packages/project-analyzer/package.json +1 -1
  59. package/packages/project-bootstrap/package.json +1 -1
  60. package/packages/projection-engine/package.json +1 -1
  61. package/packages/prompt-compiler/package.json +1 -1
  62. package/packages/prompt-versioning/package.json +1 -1
  63. package/packages/provider-adapter-sdk/package.json +1 -1
  64. package/packages/provider-router/package.json +1 -1
  65. package/packages/provider-selector/package.json +1 -1
  66. package/packages/providers/package.json +1 -1
  67. package/packages/qdrant-skills/package.json +1 -1
  68. package/packages/quota-manager/package.json +1 -1
  69. package/packages/rate-limiter/package.json +1 -1
  70. package/packages/react-vite-plugin/package.json +1 -1
  71. package/packages/release-manager/package.json +1 -1
  72. package/packages/requirement-compiler/package.json +1 -1
  73. package/packages/runtime/package.json +1 -1
  74. package/packages/scheduler/package.json +1 -1
  75. package/packages/scheduler-adapter/package.json +1 -1
  76. package/packages/session/package.json +1 -1
  77. package/packages/session-api/package.json +1 -1
  78. package/packages/session-export/package.json +1 -1
  79. package/packages/shared-context/package.json +1 -1
  80. package/packages/skill-mcp-client/package.json +1 -1
  81. package/packages/skill-registry/package.json +1 -1
  82. package/packages/skills/package.json +1 -1
  83. package/packages/sprint-planner/package.json +1 -1
  84. package/packages/subscription-engine/package.json +1 -1
  85. package/packages/task-compiler/package.json +1 -1
  86. package/packages/telegram/package.json +1 -1
  87. package/packages/tencentdb-memory/package.json +1 -1
  88. package/packages/tencentdb-sync/package.json +1 -1
  89. package/packages/test-data-generator/package.json +1 -1
  90. package/packages/test-generator/package.json +1 -1
  91. package/packages/todo-bd-sync/package.json +1 -1
  92. package/packages/token-estimation/package.json +1 -1
  93. package/packages/token-optimizer/package.json +1 -1
  94. package/packages/trajectory/package.json +1 -1
  95. package/packages/tui/package.json +1 -1
  96. package/packages/types/package.json +1 -1
  97. package/packages/webmcp-tester/package.json +1 -1
  98. package/packages/workflow-events/package.json +1 -1
  99. package/packages/workspace-scanner/package.json +1 -1
  100. package/packages/worktree/package.json +1 -1
  101. package/packages/write-review/package.json +1 -1
package/index.ts CHANGED
@@ -1025,32 +1025,50 @@ async function initTelegram(pi: ExtensionAPI): Promise<void> {
1025
1025
  const matchingSession = codexSessionState.deliveredEvents.get(sessionId) ||
1026
1026
  Array.from(codexSessionState.deliveredEvents.values()).find(e => e.codexSessionId === sessionId);
1027
1027
 
1028
- if (matchingSession && matchingSession.codexSessionId === codexSessionState.currentCodexSessionId) {
1029
- logToFile("[codex-trigger]", `Human command: ${action} for session ${sessionId}`);
1028
+ // Validate session matches current project
1029
+ if (!matchingSession || matchingSession.codexSessionId !== codexSessionState.currentCodexSessionId) {
1030
+ logToFile("[codex-trigger]", `Unknown session or session not active: ${sessionId}`);
1031
+ return;
1032
+ }
1033
+
1034
+ // For code/review commands, check Pi cwd matches project root
1035
+ if (action.toLowerCase() === "code" || action.toLowerCase() === "review") {
1036
+ if (_piSessionCwd && codexSessionState.currentProjectRoot &&
1037
+ _piSessionCwd !== codexSessionState.currentProjectRoot) {
1038
+ logToFile("[codex-trigger]", `Cwd mismatch for /task ${action}: Pi cwd=${_piSessionCwd} vs project=${codexSessionState.currentProjectRoot}`);
1039
+ return;
1040
+ }
1030
1041
 
1031
- if (action.toLowerCase() === "code") {
1032
- // Advance to code stage - send a message to Pi
1033
- await pi.sendUserMessage(
1034
- `Human approved the plan. Proceed to implement: ${matchingSession.planPath}`,
1035
- { deliverAs: "steer" }
1036
- );
1037
- matchingSession.status = "triggered";
1038
- logToFile("[codex-trigger]", "Triggered Pi for plan:", matchingSession.planPath);
1039
- } else if (action.toLowerCase() === "review") {
1040
- // Advance to review stage
1041
- await pi.sendUserMessage(
1042
- "Human requests a review of the implementation.",
1043
- { deliverAs: "steer" }
1044
- );
1045
- } else if (action.toLowerCase() === "done") {
1046
- // Mark as done
1047
- matchingSession.status = "done";
1048
- logToFile("[codex-trigger]", "Human marked session done:", sessionId);
1042
+ // For code command, require manual_wait or ready status
1043
+ if (action.toLowerCase() === "code" &&
1044
+ matchingSession.status !== "manual_wait" && matchingSession.status !== "ready") {
1045
+ logToFile("[codex-trigger]", `Cannot /task code: plan not ready (status=${matchingSession.status})`);
1046
+ return;
1049
1047
  }
1050
- return;
1051
- } else {
1052
- logToFile("[codex-trigger]", `Unknown session or wrong project: ${sessionId}`);
1053
1048
  }
1049
+
1050
+ logToFile("[codex-trigger]", `Human command: ${action} for session ${sessionId}`);
1051
+
1052
+ if (action.toLowerCase() === "code") {
1053
+ // Advance to code stage - send a message to Pi
1054
+ await pi.sendUserMessage(
1055
+ `Human approved the plan. Proceed to implement: ${matchingSession.planPath}`,
1056
+ { deliverAs: "steer" }
1057
+ );
1058
+ matchingSession.status = "triggered";
1059
+ logToFile("[codex-trigger]", "Triggered Pi for plan:", matchingSession.planPath);
1060
+ } else if (action.toLowerCase() === "review") {
1061
+ // Advance to review stage
1062
+ await pi.sendUserMessage(
1063
+ "Human requests a review of the implementation.",
1064
+ { deliverAs: "steer" }
1065
+ );
1066
+ } else if (action.toLowerCase() === "done") {
1067
+ // Mark as done
1068
+ matchingSession.status = "done";
1069
+ logToFile("[codex-trigger]", "Human marked session done:", sessionId);
1070
+ }
1071
+ return;
1054
1072
  }
1055
1073
 
1056
1074
  logToFile("[TelegramInbound]", `Forwarding message to Pi: "${text.slice(0, 50)}..."`);
@@ -2292,8 +2310,8 @@ export default function (pi: ExtensionAPI) {
2292
2310
  // Trigger Pi to read the plan
2293
2311
  async function triggerPiForPlan(event: PlanEvent): Promise<void> {
2294
2312
  // Check cwd match
2295
- if (_piSessionCwd && currentProjectRoot && _piSessionCwd !== currentProjectRoot) {
2296
- logToFile("[codex-trigger]", "Cwd mismatch, skipping:", _piSessionCwd, "!=", currentProjectRoot);
2313
+ if (_piSessionCwd && codexSessionState.currentProjectRoot && _piSessionCwd !== codexSessionState.currentProjectRoot) {
2314
+ logToFile("[codex-trigger]", "Cwd mismatch, skipping:", _piSessionCwd, "!=", codexSessionState.currentProjectRoot);
2297
2315
  return;
2298
2316
  }
2299
2317
 
@@ -2319,15 +2337,15 @@ export default function (pi: ExtensionAPI) {
2319
2337
 
2320
2338
  // Start settle timer for plan
2321
2339
  function startSettleTimer(planPath: string, ordinal: number) {
2322
- const eventKey = `${currentCodexSessionId}:${planPath}`;
2323
- const existing = deliveredEvents.get(eventKey);
2340
+ const eventKey = `${codexSessionState.currentCodexSessionId}:${planPath}`;
2341
+ const existing = codexSessionState.deliveredEvents.get(eventKey);
2324
2342
  if (existing && (existing.status === "triggered" || existing.status === "ready" || existing.status === "manual_wait")) {
2325
2343
  logToFile("[codex-trigger]", "Event already handled:", eventKey);
2326
2344
  return;
2327
2345
  }
2328
2346
 
2329
2347
  const event: PlanEvent = {
2330
- codexSessionId: currentCodexSessionId ?? "",
2348
+ codexSessionId: codexSessionState.currentCodexSessionId ?? "",
2331
2349
  planPath,
2332
2350
  planHash: "",
2333
2351
  status: "settling",
@@ -2336,7 +2354,7 @@ export default function (pi: ExtensionAPI) {
2336
2354
  settleTimer: null,
2337
2355
  fileStableSince: 0,
2338
2356
  };
2339
- deliveredEvents.set(eventKey, event);
2357
+ codexSessionState.deliveredEvents.set(eventKey, event);
2340
2358
 
2341
2359
  logToFile("[codex-trigger]", "Plan observed, starting settle timer:", planPath);
2342
2360
 
@@ -2373,20 +2391,20 @@ export default function (pi: ExtensionAPI) {
2373
2391
  onSessionChange: (session) => {
2374
2392
  if (session) {
2375
2393
  logToFile("[codex]", `Session started: ${session.threadName}, root: ${session.projectRoot}`);
2376
- currentCodexSessionId = session.id;
2377
- currentProjectRoot = session.projectRoot;
2394
+ codexSessionState.currentCodexSessionId = session.id;
2395
+ codexSessionState.currentProjectRoot = session.projectRoot;
2378
2396
  nc("CodexSessionStarted", {
2379
2397
  requirement: `${session.threadName || "Codex session"} [${session.projectRoot || "unknown"}]`,
2380
2398
  taskTitle: session.id,
2381
2399
  });
2382
2400
  } else {
2383
- currentCodexSessionId = null;
2384
- currentProjectRoot = "";
2385
- currentPlanCandidate = null;
2401
+ codexSessionState.currentCodexSessionId = null;
2402
+ codexSessionState.currentProjectRoot = null;
2403
+ codexSessionState.currentPlanCandidate = null;
2386
2404
  }
2387
2405
  },
2388
2406
  onMessages: (msgs) => {
2389
- if (!currentCodexSessionId) return;
2407
+ if (!codexSessionState.currentCodexSessionId) return;
2390
2408
 
2391
2409
  for (const msg of msgs) {
2392
2410
  lastActivityTime = Date.now();
@@ -2404,11 +2422,11 @@ export default function (pi: ExtensionAPI) {
2404
2422
 
2405
2423
  // Only start settle timer for plans (not reviews)
2406
2424
  // Reviews don't have a file to watch
2407
- if (!hasReviewMarker && currentProjectRoot) {
2408
- const planPath = findPlanFile(currentProjectRoot);
2425
+ if (!hasReviewMarker && codexSessionState.currentProjectRoot) {
2426
+ const planPath = findPlanFile(codexSessionState.currentProjectRoot);
2409
2427
  if (planPath) {
2410
2428
  // Track plan candidate
2411
- currentPlanCandidate = { ordinal: msg.ordinal, text: msg.text, timestamp: Date.now() };
2429
+ codexSessionState.currentPlanCandidate = { ordinal: msg.ordinal, text: msg.text, timestamp: Date.now() };
2412
2430
  logToFile("[codex-trigger]", "Plan message + wiki file detected:", planPath);
2413
2431
  startSettleTimer(planPath, msg.ordinal);
2414
2432
  } else {
@@ -2418,28 +2436,28 @@ export default function (pi: ExtensionAPI) {
2418
2436
  }
2419
2437
 
2420
2438
  // Emit Telegram alert with full content
2421
- const planPath = currentProjectRoot ? findPlanFile(currentProjectRoot) : undefined;
2439
+ const planPath = codexSessionState.currentProjectRoot ? findPlanFile(codexSessionState.currentProjectRoot) : undefined;
2422
2440
 
2423
2441
  // Use event type based on stage
2424
2442
  if (hasReviewMarker) {
2425
2443
  nc("CodexReviewDetected", {
2426
2444
  requirement: msg.text,
2427
- taskTitle: currentCodexSessionId || `Ordinal ${msg.ordinal}`,
2428
- details: {
2429
- ordinal: msg.ordinal,
2430
- stage: "review",
2431
- projectRoot: currentProjectRoot || undefined,
2445
+ taskTitle: codexSessionState.currentCodexSessionId || `Ordinal ${msg.ordinal}`,
2446
+ details: {
2447
+ ordinal: msg.ordinal,
2448
+ stage: "review",
2449
+ projectRoot: codexSessionState.currentProjectRoot || undefined,
2432
2450
  messageLength: msg.text.length,
2433
2451
  },
2434
2452
  });
2435
2453
  } else {
2436
2454
  nc("CodexPlanDetected", {
2437
- requirement: msg.text, // Full text, no truncation
2438
- taskTitle: currentCodexSessionId || `Ordinal ${msg.ordinal}`,
2439
- details: {
2440
- ordinal: msg.ordinal,
2441
- stage: "plan",
2442
- projectRoot: currentProjectRoot || undefined,
2455
+ requirement: msg.text, // Full text, no truncation
2456
+ taskTitle: codexSessionState.currentCodexSessionId || `Ordinal ${msg.ordinal}`,
2457
+ details: {
2458
+ ordinal: msg.ordinal,
2459
+ stage: "plan",
2460
+ projectRoot: codexSessionState.currentProjectRoot || undefined,
2443
2461
  planPath: planPath || undefined,
2444
2462
  messageLength: msg.text.length,
2445
2463
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-harness-runtime",
3
- "version": "1.1.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
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.301",
3
+ "version": "1.1.303",
4
4
  "description": "Memory engine with OKF integration for durable knowledge management (RFC-0060)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",