pi-harness-runtime 1.1.249 → 1.1.250

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 (104) hide show
  1. package/package.json +1 -1
  2. package/packages/a2a-adapter/package.json +1 -1
  3. package/packages/agent-policy/package.json +1 -1
  4. package/packages/architecture-generator/package.json +1 -1
  5. package/packages/auth/package.json +1 -1
  6. package/packages/autonomous-refactor/package.json +1 -1
  7. package/packages/autonomous-runtime/package.json +1 -1
  8. package/packages/cache-strategy/package.json +1 -1
  9. package/packages/capability-registry/package.json +1 -1
  10. package/packages/checkpoint/package.json +1 -1
  11. package/packages/cli-plugin-sdk/package.json +1 -1
  12. package/packages/clipboard/package.json +1 -1
  13. package/packages/clipboard-plugin/package.json +1 -1
  14. package/packages/code-generation/package.json +1 -1
  15. package/packages/code-review/package.json +1 -1
  16. package/packages/codex-adapter/package.json +1 -1
  17. package/packages/codex-watcher/package.json +1 -1
  18. package/packages/config-capture/package.json +1 -1
  19. package/packages/context-compiler/package.json +1 -1
  20. package/packages/context-discovery/package.json +1 -1
  21. package/packages/context-manager/package.json +1 -1
  22. package/packages/cookie-sanitizer/package.json +1 -1
  23. package/packages/cost-optimizer/package.json +1 -1
  24. package/packages/dependency-analyzer/package.json +1 -1
  25. package/packages/django-plugin/package.json +1 -1
  26. package/packages/doc-generator/package.json +1 -1
  27. package/packages/e2e-tester/package.json +1 -1
  28. package/packages/evaluation-engine/package.json +1 -1
  29. package/packages/evaluation-runner/package.json +1 -1
  30. package/packages/event-bus/package.json +1 -1
  31. package/packages/event-store/package.json +1 -1
  32. package/packages/experience-replay/package.json +1 -1
  33. package/packages/feedback-collector/package.json +1 -1
  34. package/packages/file-copy-helper/package.json +1 -1
  35. package/packages/framework-detector/package.json +1 -1
  36. package/packages/framework-plugin-sdk/package.json +1 -1
  37. package/packages/frappe-plugin/package.json +1 -1
  38. package/packages/generic-web-plugin/package.json +1 -1
  39. package/packages/health-monitor/package.json +1 -1
  40. package/packages/intent-analyzer/package.json +1 -1
  41. package/packages/jev-judge/package.json +1 -1
  42. package/packages/knowledge-graph/package.json +1 -1
  43. package/packages/knowledge-retrieval/package.json +1 -1
  44. package/packages/laravel-plugin/package.json +1 -1
  45. package/packages/learning-engine/package.json +1 -1
  46. package/packages/mcp-adapter/package.json +1 -1
  47. package/packages/memory-engine/package.json +1 -1
  48. package/packages/milestone-manager/package.json +1 -1
  49. package/packages/model-registry/package.json +1 -1
  50. package/packages/nextjs-plugin/package.json +1 -1
  51. package/packages/notification/dist/harness-widget.d.ts +10 -13
  52. package/packages/notification/dist/harness-widget.d.ts.map +1 -1
  53. package/packages/notification/dist/harness-widget.js.map +1 -1
  54. package/packages/notification/package.json +1 -1
  55. package/packages/notification/src/harness-widget.ts +167 -0
  56. package/packages/observability/package.json +1 -1
  57. package/packages/okf-indexer/package.json +1 -1
  58. package/packages/paperclip-integration/package.json +1 -1
  59. package/packages/performance-optimizer/package.json +1 -1
  60. package/packages/privilege-broker/package.json +1 -1
  61. package/packages/project-analyzer/package.json +1 -1
  62. package/packages/project-bootstrap/package.json +1 -1
  63. package/packages/projection-engine/package.json +1 -1
  64. package/packages/prompt-compiler/package.json +1 -1
  65. package/packages/prompt-versioning/package.json +1 -1
  66. package/packages/provider-adapter-sdk/package.json +1 -1
  67. package/packages/provider-router/package.json +1 -1
  68. package/packages/provider-selector/package.json +1 -1
  69. package/packages/providers/package.json +1 -1
  70. package/packages/qdrant-skills/package.json +1 -1
  71. package/packages/quota-manager/package.json +1 -1
  72. package/packages/rate-limiter/package.json +1 -1
  73. package/packages/react-vite-plugin/package.json +1 -1
  74. package/packages/release-manager/package.json +1 -1
  75. package/packages/requirement-compiler/package.json +1 -1
  76. package/packages/runtime/package.json +1 -1
  77. package/packages/scheduler/package.json +1 -1
  78. package/packages/scheduler-adapter/package.json +1 -1
  79. package/packages/session/package.json +1 -1
  80. package/packages/session-api/package.json +1 -1
  81. package/packages/session-export/package.json +1 -1
  82. package/packages/shared-context/package.json +1 -1
  83. package/packages/skill-mcp-client/package.json +1 -1
  84. package/packages/skill-registry/package.json +1 -1
  85. package/packages/skills/package.json +1 -1
  86. package/packages/sprint-planner/package.json +1 -1
  87. package/packages/subscription-engine/package.json +1 -1
  88. package/packages/task-compiler/package.json +1 -1
  89. package/packages/telegram/package.json +1 -1
  90. package/packages/tencentdb-memory/package.json +1 -1
  91. package/packages/tencentdb-sync/package.json +1 -1
  92. package/packages/test-data-generator/package.json +1 -1
  93. package/packages/test-generator/package.json +1 -1
  94. package/packages/todo-bd-sync/package.json +1 -1
  95. package/packages/token-estimation/package.json +1 -1
  96. package/packages/token-optimizer/package.json +1 -1
  97. package/packages/trajectory/package.json +1 -1
  98. package/packages/tui/package.json +1 -1
  99. package/packages/types/package.json +1 -1
  100. package/packages/webmcp-tester/package.json +1 -1
  101. package/packages/workflow-events/package.json +1 -1
  102. package/packages/workspace-scanner/package.json +1 -1
  103. package/packages/worktree/package.json +1 -1
  104. package/packages/write-review/package.json +1 -1
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Pi-harness Startup Widget
3
+ *
4
+ * Renders harness status as a widget with native Pi styling.
5
+ * Handles terminal width detection and overflow protection.
6
+ */
7
+
8
+ import type { HarnessStatus } from "./harness-types.js";
9
+
10
+ /**
11
+ * Default config
12
+ */
13
+ const DEFAULT_CONFIG = {
14
+ headingStyle: "mdHeading",
15
+ bodyStyle: "dim",
16
+ indent: " ",
17
+ defaultWidth: 80,
18
+ };
19
+
20
+ /**
21
+ * Get terminal width
22
+ */
23
+ export function getTerminalWidth(): number {
24
+ // Try stdout columns
25
+ if (typeof process !== "undefined" && process.stdout) {
26
+ const cols = (process.stdout as NodeJS.WriteStream & { columns?: number }).columns;
27
+ if (cols && cols > 0) {
28
+ return cols;
29
+ }
30
+ }
31
+ // Fallback to default
32
+ return DEFAULT_CONFIG.defaultWidth;
33
+ }
34
+
35
+ /**
36
+ * Truncate text to fit within max width
37
+ */
38
+ export function truncate(text: string, maxWidth: number): string {
39
+ if (text.length <= maxWidth) {
40
+ return text;
41
+ }
42
+ // Leave room for "..." suffix
43
+ return text.substring(0, Math.max(0, maxWidth - 3)) + "...";
44
+ }
45
+
46
+ /**
47
+ * Truncate text in the middle (for paths/lists)
48
+ */
49
+ export function truncateMiddle(text: string, maxWidth: number): string {
50
+ if (text.length <= maxWidth) {
51
+ return text;
52
+ }
53
+ const half = Math.floor((maxWidth - 3) / 2);
54
+ return text.substring(0, half) + "..." + text.substring(text.length - half);
55
+ }
56
+
57
+ /**
58
+ * Render a status line with optional icon
59
+ */
60
+ function renderStatusLine(label: string, value: string, width: number, indent: string): string {
61
+ const maxValueWidth = width - indent.length - label.length - 2; // ": " separator
62
+ const truncatedValue = truncate(value, maxValueWidth);
63
+ return `${indent}${label}: ${truncatedValue}`;
64
+ }
65
+
66
+ /**
67
+ * Render version/tagline line
68
+ */
69
+ function renderVersionLine(tagline: string, width: number, indent: string): string {
70
+ const maxTagWidth = width - indent.length - 2;
71
+ return `${indent}${truncate(tagline, maxTagWidth)}`;
72
+ }
73
+
74
+ /**
75
+ * Render commands line with truncation
76
+ */
77
+ function renderCommandsLine(commands: string[], width: number, indent: string): string {
78
+ const prefix = `${indent}Commands: `;
79
+ const maxWidth = width - prefix.length;
80
+ const joined = commands.join(", ");
81
+ return prefix + truncate(joined, maxWidth);
82
+ }
83
+
84
+ /**
85
+ * Render harness status as widget body (string array for setWidget)
86
+ */
87
+ export function renderWidgetBody(
88
+ status: HarnessStatus,
89
+ config: Partial<typeof DEFAULT_CONFIG> = {}
90
+ ): string[] {
91
+ const cfg = { ...DEFAULT_CONFIG, ...config };
92
+ const width = getTerminalWidth();
93
+ const indent = cfg.indent;
94
+ const lines: string[] = [];
95
+
96
+ // Version/tagline line
97
+ lines.push(renderVersionLine(status.tagline, width, indent));
98
+
99
+ // Runtime status
100
+ lines.push(renderStatusLine("Runtime", status.runtime.status, width, indent));
101
+
102
+ // Qdrant status
103
+ if (status.qdrant) {
104
+ lines.push(renderStatusLine("Qdrant", status.qdrant.status, width, indent));
105
+ }
106
+
107
+ // Honcho status
108
+ if (status.honcho) {
109
+ const honchoDetail = status.honcho.sessionId
110
+ ? `${status.honcho.status} (${status.honcho.sessionId})`
111
+ : status.honcho.status;
112
+ lines.push(renderStatusLine("Honcho", honchoDetail, width, indent));
113
+ }
114
+
115
+ // Telegram status
116
+ if (status.telegram) {
117
+ const tgDetail = status.telegram.botName
118
+ ? `${status.telegram.status}: @${status.telegram.botName}`
119
+ : status.telegram.status;
120
+ lines.push(renderStatusLine("Telegram", tgDetail, width, indent));
121
+ }
122
+
123
+ // Skills status
124
+ if (status.skills) {
125
+ const skillDetail = `${status.skills.count} discovered`;
126
+ lines.push(renderStatusLine("Skills", skillDetail, width, indent));
127
+ }
128
+
129
+ // Commands line (always last, most likely to overflow)
130
+ if (status.commands && status.commands.length > 0) {
131
+ lines.push(renderCommandsLine(status.commands, width, indent));
132
+ }
133
+
134
+ return lines;
135
+ }
136
+
137
+ /**
138
+ * Create initial pending status
139
+ */
140
+ export function createInitialStatus(): HarnessStatus {
141
+ return {
142
+ version: "v1.0.0",
143
+ tagline: "quota management, automation, memory, multi-agent",
144
+ runtime: { status: "initializing..." },
145
+ qdrant: { status: "configuring..." },
146
+ honcho: { status: "initializing..." },
147
+ telegram: { status: "connecting..." },
148
+ skills: { count: 0 },
149
+ commands: [],
150
+ };
151
+ }
152
+
153
+ /**
154
+ * Format status with icons
155
+ */
156
+ export function formatStatusWithIcon(status: string): { status: string; icon?: string } {
157
+ if (status.includes("✓") || status.includes("ready")) {
158
+ return { status, icon: "✓" };
159
+ }
160
+ if (status.includes("✗") || status.includes("error") || status.includes("failed")) {
161
+ return { status, icon: "✗" };
162
+ }
163
+ if (status.includes("...")) {
164
+ return { status, icon: "..." };
165
+ }
166
+ return { status };
167
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/observability",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Comprehensive observability system with structured logging, tracing, metrics, and alerting",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/okf-indexer",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "OKF document indexer for SKILL.md files (RFC-0106)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/paperclip-integration",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Paperclip API integration: poll agent inbox, route tasks to pi.dev, Telegram alerts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/performance-optimizer",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Performance optimization analyzer for pi-harness runtime (RFC-0056)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/privilege-broker",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Privilege Broker — capability registry and command executor for autonomous runtime (RFC-0101 §7)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/project-analyzer",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Project analysis system for pi-harness-runtime - detects frameworks, rules, and project structure",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/project-bootstrap",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Project scaffolding from typed ProjectSpec",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/projection-engine",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/prompt-compiler",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Deterministic prompt compiler for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/prompt-versioning",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "description": "Version control for prompts with rollback support (RFC-0019)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/provider-adapter-sdk",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "SDK for building, testing, and registering AI provider adapters",
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.249",
3
+ "version": "1.1.250",
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",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/provider-selector",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Multi-Provider Selector — route requests by cost, quality, and latency (RFC-0012)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/providers",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "pi-harness-runtime — providers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/qdrant-skills",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Qdrant vector search integration for Hermes-style skill system",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/quota-manager",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "pi-harness-runtime — quota-manager",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/rate-limiter",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "description": "Rate limiting with token bucket algorithm (RFC-0023)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/react-vite-plugin",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "React/Vite framework analysis — components, config, TypeScript setup",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/release-manager",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "description": "Release management for pi-harness",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/requirement-compiler",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Compiles raw requirements into validated CompiledRequirement with ambiguity detection and risk tagging",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/runtime",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "pi-harness-runtime — runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/scheduler",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "pi-harness-runtime — scheduler",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/scheduler-adapter",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Scheduler Adapter — cron, systemd, launchd, internal adapters for autonomous runtime (RFC-0101 §6)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/session",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Session management 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/session-api",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/session-export",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/shared-context",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "pi-harness-runtime — shared-context",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/skill-mcp-client",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "MCP client for Skills SaaS backend",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/skill-registry",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Skill Registry for pi-harness-runtime — dynamic skill discovery and invocation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/skills",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "File-based skill system with pi.dev compatibility and Hermes self-improvement",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/sprint-planner",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "description": "Sprint planning engine for pi-harness",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/subscription-engine",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/task-compiler",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Task Compiler for pi-harness-runtime — produces deterministic task DAG from CompiledRequirement",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/telegram",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "pi-harness-runtime — Telegram inbound/outbound",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/tencentdb-memory",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "TencentDB Agent Memory client - sync skills to centralized knowledge base",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/tencentdb-sync",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Sync SKILL.md skills to TencentDB-Agent-Memory server (RFC-0105/0106)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/test-data-generator",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Test data generation for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/test-generator",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Auto-Test Generator — generate unit and E2E tests from source code (RFC-0013)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/todo-bd-sync",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Two-way sync between rpiv-todo overlay and bd issue tracker",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/token-estimation",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "pi-harness-runtime — token-estimation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/token-optimizer",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Token Budget Optimizer — maximize prompt value within token limits (RFC-0011)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/trajectory",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Trajectory capture for the write-review loop — persists cycle records for learning",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/tui",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "pi-harness-runtime — tui",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/types",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Shared TypeScript types for pi-harness-runtime packages",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/webmcp-tester",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
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/workflow-events",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/workspace-scanner",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/worktree",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "pi-harness-runtime — worktree",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/write-review",
3
- "version": "1.1.249",
3
+ "version": "1.1.250",
4
4
  "description": "Two-agent write-review loop with blackboard coordination",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",