pi-harness-runtime 1.1.228 → 1.1.230

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 (127) 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/dist/auto-continue.d.ts.map +1 -1
  42. package/packages/jev-judge/dist/auto-continue.js +2 -1
  43. package/packages/jev-judge/dist/auto-continue.js.map +1 -1
  44. package/packages/jev-judge/dist/continuation-controller.d.ts.map +1 -1
  45. package/packages/jev-judge/dist/continuation-controller.js +2 -1
  46. package/packages/jev-judge/dist/continuation-controller.js.map +1 -1
  47. package/packages/jev-judge/dist/environment-judge.d.ts.map +1 -1
  48. package/packages/jev-judge/dist/environment-judge.js +2 -1
  49. package/packages/jev-judge/dist/environment-judge.js.map +1 -1
  50. package/packages/jev-judge/dist/file-logger.d.ts +7 -0
  51. package/packages/jev-judge/dist/file-logger.d.ts.map +1 -0
  52. package/packages/jev-judge/dist/file-logger.js +19 -0
  53. package/packages/jev-judge/dist/file-logger.js.map +1 -0
  54. package/packages/jev-judge/dist/todo-provider.d.ts +4 -1
  55. package/packages/jev-judge/dist/todo-provider.d.ts.map +1 -1
  56. package/packages/jev-judge/dist/todo-provider.js +114 -5
  57. package/packages/jev-judge/dist/todo-provider.js.map +1 -1
  58. package/packages/jev-judge/dist/typesafe-provider.d.ts +1 -0
  59. package/packages/jev-judge/dist/typesafe-provider.d.ts.map +1 -1
  60. package/packages/jev-judge/dist/typesafe-provider.js +15 -13
  61. package/packages/jev-judge/dist/typesafe-provider.js.map +1 -1
  62. package/packages/jev-judge/package.json +1 -1
  63. package/packages/jev-judge/src/auto-continue.ts +2 -1
  64. package/packages/jev-judge/src/continuation-controller.ts +2 -1
  65. package/packages/jev-judge/src/environment-judge.ts +2 -1
  66. package/packages/jev-judge/src/file-logger.ts +21 -0
  67. package/packages/jev-judge/src/todo-provider.ts +140 -5
  68. package/packages/jev-judge/src/typesafe-provider.ts +32 -23
  69. package/packages/knowledge-graph/package.json +1 -1
  70. package/packages/knowledge-retrieval/package.json +1 -1
  71. package/packages/laravel-plugin/package.json +1 -1
  72. package/packages/learning-engine/package.json +1 -1
  73. package/packages/mcp-adapter/package.json +1 -1
  74. package/packages/memory-engine/package.json +1 -1
  75. package/packages/milestone-manager/package.json +1 -1
  76. package/packages/model-registry/package.json +1 -1
  77. package/packages/nextjs-plugin/package.json +1 -1
  78. package/packages/notification/package.json +1 -1
  79. package/packages/observability/package.json +1 -1
  80. package/packages/okf-indexer/package.json +1 -1
  81. package/packages/paperclip-integration/package.json +1 -1
  82. package/packages/performance-optimizer/package.json +1 -1
  83. package/packages/privilege-broker/package.json +1 -1
  84. package/packages/project-analyzer/package.json +1 -1
  85. package/packages/project-bootstrap/package.json +1 -1
  86. package/packages/projection-engine/package.json +1 -1
  87. package/packages/prompt-compiler/package.json +1 -1
  88. package/packages/prompt-versioning/package.json +1 -1
  89. package/packages/provider-adapter-sdk/package.json +1 -1
  90. package/packages/provider-router/package.json +1 -1
  91. package/packages/provider-selector/package.json +1 -1
  92. package/packages/providers/package.json +1 -1
  93. package/packages/qdrant-skills/package.json +1 -1
  94. package/packages/quota-manager/package.json +1 -1
  95. package/packages/rate-limiter/package.json +1 -1
  96. package/packages/react-vite-plugin/package.json +1 -1
  97. package/packages/release-manager/package.json +1 -1
  98. package/packages/requirement-compiler/package.json +1 -1
  99. package/packages/runtime/package.json +1 -1
  100. package/packages/scheduler/package.json +1 -1
  101. package/packages/scheduler-adapter/package.json +1 -1
  102. package/packages/session/package.json +1 -1
  103. package/packages/session-api/package.json +1 -1
  104. package/packages/session-export/package.json +1 -1
  105. package/packages/shared-context/package.json +1 -1
  106. package/packages/skill-mcp-client/package.json +1 -1
  107. package/packages/skill-registry/package.json +1 -1
  108. package/packages/skills/package.json +1 -1
  109. package/packages/sprint-planner/package.json +1 -1
  110. package/packages/subscription-engine/package.json +1 -1
  111. package/packages/task-compiler/package.json +1 -1
  112. package/packages/telegram/package.json +1 -1
  113. package/packages/tencentdb-memory/package.json +1 -1
  114. package/packages/tencentdb-sync/package.json +1 -1
  115. package/packages/test-data-generator/package.json +1 -1
  116. package/packages/test-generator/package.json +1 -1
  117. package/packages/todo-bd-sync/package.json +1 -1
  118. package/packages/token-estimation/package.json +1 -1
  119. package/packages/token-optimizer/package.json +1 -1
  120. package/packages/trajectory/package.json +1 -1
  121. package/packages/tui/package.json +1 -1
  122. package/packages/types/package.json +1 -1
  123. package/packages/webmcp-tester/package.json +1 -1
  124. package/packages/workflow-events/package.json +1 -1
  125. package/packages/workspace-scanner/package.json +1 -1
  126. package/packages/worktree/package.json +1 -1
  127. package/packages/write-review/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"todo-provider.d.ts","sourceRoot":"","sources":["../src/todo-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE1C;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAErD;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAErC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElC;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEpC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACpD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAK;IAEtB,YAAY,SAAS,CAAC,EAAE,MAAM,EAE7B;IAEK,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAE9C;IAEK,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAQzC;IAEK,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEzD;IAEK,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEzC;IAEK,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEtC;IAEK,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAExC;IAEK,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CASpC;IAEK,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAStC;IAGD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ,CAK5C;IAED,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAK9C;IAED,KAAK,IAAI,IAAI,CAGZ;CACD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAKlE"}
1
+ {"version":3,"file":"todo-provider.d.ts","sourceRoot":"","sources":["../src/todo-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE1C;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAErD;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAErC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElC;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEpC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACpD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAK;IAEtB,YAAY,SAAS,CAAC,EAAE,MAAM,EAE7B;IAEK,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAE9C;IAEK,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAQzC;IAEK,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEzD;IAEK,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEzC;IAEK,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEtC;IAEK,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAExC;IAEK,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CASpC;IAEK,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAStC;IAGD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ,CAK5C;IAED,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAK9C;IAED,KAAK,IAAI,IAAI,CAGZ;CACD;AAYD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAKlE;AAmKD;;GAEG"}
@@ -75,14 +75,120 @@ export class MockTodoProvider {
75
75
  }
76
76
  }
77
77
  /**
78
- * Create a todo provider based on available tools
78
+ * Create a todo provider that reads from rpiv-todo state via session branch
79
79
  */
80
80
  export function createTodoProvider(pi) {
81
- // Check if Pi exposes a todo API
82
- // For now, Pi does not expose a todo extension API
83
- // Return a provider that reports unavailability
81
+ if (pi && "sessionManager" in pi) {
82
+ return new PiTodoProvider(pi);
83
+ }
84
84
  return new PiUnavailableTodoProvider();
85
85
  }
86
+ /**
87
+ * Provider that reads rpiv-todo state from session branch
88
+ * Replicates rpiv-todo's replayFromBranch logic to access todo state
89
+ */
90
+ class PiTodoProvider {
91
+ pi;
92
+ _revision = 0;
93
+ constructor(pi) {
94
+ this.pi = pi;
95
+ }
96
+ async availability() {
97
+ if (!this.pi.sessionManager) {
98
+ return {
99
+ available: false,
100
+ error: "Session manager not available",
101
+ provider: "pi-todo",
102
+ };
103
+ }
104
+ return { available: true, provider: "pi-todo" };
105
+ }
106
+ /**
107
+ * Check if a value is a TaskDetails shape (defensive validation)
108
+ */
109
+ isTaskDetails(value) {
110
+ if (!value || typeof value !== "object")
111
+ return false;
112
+ const v = value;
113
+ return Array.isArray(v.tasks) && typeof v.nextId === "number";
114
+ }
115
+ /**
116
+ * Get todo state from session branch (replicates rpiv-todo's replayFromBranch)
117
+ */
118
+ getTodoState() {
119
+ let fromEntries;
120
+ let fromToolResults;
121
+ try {
122
+ for (const entry of this.pi.sessionManager.getBranch()) {
123
+ const e = entry;
124
+ // Priority 1: rpiv-todo-state custom entries
125
+ if (e.type === "custom") {
126
+ if (e.customType === "rpiv-todo-state" && this.isTaskDetails(e.data)) {
127
+ fromEntries = { tasks: e.data.tasks.map(t => ({ ...t })), nextId: e.data.nextId };
128
+ }
129
+ continue;
130
+ }
131
+ // Priority 2: toolResult entries with toolName === "todo"
132
+ if (e.type !== "message")
133
+ continue;
134
+ const msg = e.message;
135
+ if (msg?.role !== "toolResult" || msg.toolName !== "todo")
136
+ continue;
137
+ if (!this.isTaskDetails(msg.details))
138
+ continue;
139
+ fromToolResults = { tasks: msg.details.tasks.map(t => ({ ...t })), nextId: msg.details.nextId };
140
+ }
141
+ }
142
+ catch (err) {
143
+ // Fall through to EMPTY_STATE on error
144
+ }
145
+ // Prefer custom entries (more authoritative), fall back to tool results
146
+ return fromEntries ?? fromToolResults ?? { tasks: [], nextId: 1 };
147
+ }
148
+ async getSnapshot() {
149
+ this._revision++;
150
+ const state = this.getTodoState();
151
+ return {
152
+ items: state.tasks,
153
+ sessionId: this.pi.sessionManager.getSessionId() ?? "unknown",
154
+ revision: this._revision,
155
+ createdAt: new Date(),
156
+ };
157
+ }
158
+ async getByStatus(status) {
159
+ const { items } = await this.getSnapshot();
160
+ return items.filter((item) => item.status === status);
161
+ }
162
+ async getInProgress() {
163
+ return this.getByStatus("in_progress");
164
+ }
165
+ async getPending() {
166
+ return this.getByStatus("pending");
167
+ }
168
+ async getCompleted() {
169
+ return this.getByStatus("completed");
170
+ }
171
+ async getReady() {
172
+ const pending = await this.getPending();
173
+ const all = (await this.getSnapshot()).items;
174
+ return pending.filter((item) => {
175
+ if (!item.blockedBy?.length)
176
+ return true;
177
+ const blockedIds = new Set(item.blockedBy);
178
+ return !all.some((i) => blockedIds.has(i.id) && i.status !== "completed");
179
+ });
180
+ }
181
+ async getBlocked() {
182
+ const pending = await this.getPending();
183
+ const all = (await this.getSnapshot()).items;
184
+ return pending.filter((item) => {
185
+ if (!item.blockedBy?.length)
186
+ return false;
187
+ const blockedIds = new Set(item.blockedBy);
188
+ return all.some((i) => blockedIds.has(i.id) && i.status !== "completed");
189
+ });
190
+ }
191
+ }
86
192
  /**
87
193
  * Provider that reports Pi todo extension is not available
88
194
  */
@@ -90,7 +196,7 @@ class PiUnavailableTodoProvider {
90
196
  async availability() {
91
197
  return {
92
198
  available: false,
93
- error: "Pi does not expose a todo extension API. Todo state is not available.",
199
+ error: "Pi session manager not available. Todo state is not accessible.",
94
200
  provider: "pi-todo",
95
201
  };
96
202
  }
@@ -116,4 +222,7 @@ class PiUnavailableTodoProvider {
116
222
  return [];
117
223
  }
118
224
  }
225
+ /**
226
+ * Provider that reports Pi todo extension is not available
227
+ */
119
228
  //# sourceMappingURL=todo-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"todo-provider.js","sourceRoot":"","sources":["../src/todo-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"todo-provider.js","sourceRoot":"","sources":["../src/todo-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuFH;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACpB,KAAK,GAAe,EAAE,CAAC;IACvB,UAAU,CAAS;IACnB,SAAS,GAAG,CAAC,CAAC;IAEtB,YAAY,SAAkB;QAC7B,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO;YACN,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE;SACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAkB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,eAAe;IACf,OAAO,CAAC,IAA0B;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAAa,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,MAAkB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,CAAC;IACF,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;CACD;AAYD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAiB;IACnD,IAAI,EAAE,IAAI,gBAAgB,IAAI,EAAE,EAAE,CAAC;QAClC,OAAO,IAAI,cAAc,CAAC,EAAoB,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,yBAAyB,EAAE,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc;IACX,EAAE,CAAiB;IACnB,SAAS,GAAG,CAAC,CAAC;IAEtB,YAAY,EAAkB;QAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;YAC7B,OAAO;gBACN,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,+BAA+B;gBACtC,QAAQ,EAAE,SAAS;aACnB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAc;QACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,YAAY;QACnB,IAAI,WAA8D,CAAC;QACnE,IAAI,eAAkE,CAAC;QAEvE,IAAI,CAAC;YACJ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC;gBACxD,MAAM,CAAC,GAAG,KAKT,CAAC;gBAEF,6CAA6C;gBAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACzB,IAAI,CAAC,CAAC,UAAU,KAAK,iBAAiB,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBACtE,WAAW,GAAG,EAAE,KAAK,EAAG,CAAC,CAAC,IAA8B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAG,CAAC,CAAC,IAA2B,CAAC,MAAM,EAAE,CAAC;oBACtI,CAAC;oBACD,SAAS;gBACV,CAAC;gBAED,0DAA0D;gBAC1D,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;oBAAE,SAAS;gBACnC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;gBACtB,IAAI,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM;oBAAE,SAAS;gBACpE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAC/C,eAAe,GAAG,EAAE,KAAK,EAAG,GAAG,CAAC,OAAiC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAG,GAAG,CAAC,OAA8B,CAAC,MAAM,EAAE,CAAC;YACpJ,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,uCAAuC;QACxC,CAAC;QAED,wEAAwE;QACxE,OAAO,WAAW,IAAI,eAAe,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,OAAO;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,SAAS;YAC7D,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE;SACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAkB;QACnC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC;QAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC;QAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAED;;GAEG;AACH,MAAM,yBAAyB;IAC9B,KAAK,CAAC,YAAY;QACjB,OAAO;YACN,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,iEAAiE;YACxE,QAAQ,EAAE,SAAS;SACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAmB;QACpC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,UAAU;QACf,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,UAAU;QACf,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED;;GAEG"}
@@ -13,6 +13,7 @@ import type { JevQuestions, JevEvaluationResult } from "./types.js";
13
13
  */
14
14
  export interface TypeSafeConfig {
15
15
  apiKey: string;
16
+ model?: string;
16
17
  baseUrl?: string;
17
18
  timeoutMs?: number;
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typesafe-provider.d.ts","sourceRoot":"","sources":["../src/typesafe-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,YAAY,EAGZ,mBAAmB,EAIpB,MAAM,YAAY,CAAC;AA2CpB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA2B;IAEzC,YAAY,MAAM,EAAE,cAAc,EAKjC;IAED;;OAEG;IACG,QAAQ,CAAC,CAAC,SAAS,MAAM,EAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CA4EjC;IAED;;OAEG;IACG,IAAI,CACR,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;KAAE,CAAC,CAWlE;IAED;;OAEG;IACG,MAAM,CAAC,CAAC,SAAS,MAAM,EAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,EAAE,GACX,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAW5C;IAED;;OAEG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAI,EACP,GAAG,SAAM,GACR,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAWhD;IAED;;OAEG;IACH,OAAO,CAAC,aAAa;IA0DrB;;OAEG;IACH,OAAO,CAAC,aAAa;CAOtB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,UAAU,GAAG,YAAY,CAgB3B"}
1
+ {"version":3,"file":"typesafe-provider.d.ts","sourceRoot":"","sources":["../src/typesafe-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,YAAY,EAGZ,mBAAmB,EAIpB,MAAM,YAAY,CAAC;AAkDpB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA2B;IAEzC,YAAY,MAAM,EAAE,cAAc,EAKjC;IAED;;OAEG;IACG,QAAQ,CAAC,CAAC,SAAS,MAAM,EAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CA2EjC;IAED;;OAEG;IACG,IAAI,CACR,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;KAAE,CAAC,CAWlE;IAED;;OAEG;IACG,MAAM,CAAC,CAAC,SAAS,MAAM,EAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,EAAE,GACX,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAW5C;IAED;;OAEG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAI,EACP,GAAG,SAAM,GACR,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAWhD;IAED;;OAEG;IACH,OAAO,CAAC,aAAa;IA2DrB;;OAEG;IACH,OAAO,CAAC,aAAa;CAOtB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,UAAU,GAAG,YAAY,CAgB3B"}
@@ -11,6 +11,7 @@
11
11
  * Default configuration
12
12
  */
13
13
  const DEFAULT_CONFIG = {
14
+ model: "jev-latest",
14
15
  baseUrl: "https://api.typesafe.ai",
15
16
  timeoutMs: 30000,
16
17
  };
@@ -35,25 +36,24 @@ export class TypeSafeJudge {
35
36
  const startTime = Date.now();
36
37
  // Convert state to string if object
37
38
  const stateStr = typeof state === "string" ? state : JSON.stringify(state);
38
- // Build TypeSafe question format
39
- const questionsArray = Object.entries(questions).map(([id, q]) => {
39
+ // Build TypeSafe question format as a map (not array)
40
+ const questionsMap = {};
41
+ for (const [id, q] of Object.entries(questions)) {
40
42
  const questionObj = q;
41
- const question = {
42
- id,
43
+ questionsMap[id] = {
43
44
  type: questionObj.type,
44
45
  instructions: questionObj.instructions,
45
46
  };
46
47
  if (questionObj.type === "choice") {
47
- question.options = questionObj.options;
48
+ questionsMap[id].options = questionObj.options;
48
49
  // For choice questions, criteria defines ordered preference levels
49
- question.criteria = questionObj.options;
50
+ questionsMap[id].criteria = questionObj.options;
50
51
  }
51
52
  else if (questionObj.type === "score") {
52
- question.min = questionObj.min ?? 0;
53
- question.max = questionObj.max ?? 100;
53
+ questionsMap[id].min = questionObj.min ?? 0;
54
+ questionsMap[id].max = questionObj.max ?? 100;
54
55
  }
55
- return question;
56
- });
56
+ }
57
57
  // Call TypeSafe API directly
58
58
  const response = await fetch(`${this.config.baseUrl}/v1/systemone`, {
59
59
  method: "POST",
@@ -62,7 +62,8 @@ export class TypeSafeJudge {
62
62
  Authorization: `Bearer ${this.config.apiKey}`,
63
63
  },
64
64
  body: JSON.stringify({
65
- questions: questionsArray,
65
+ model: this.config.model,
66
+ questions: questionsMap,
66
67
  state: stateStr,
67
68
  }),
68
69
  signal: AbortSignal.timeout(this.config.timeoutMs),
@@ -142,11 +143,12 @@ export class TypeSafeJudge {
142
143
  let probability;
143
144
  switch (answer.type) {
144
145
  case "noul":
146
+ // FIX: Use answer.noul (not probability) per TypeSafe API spec
145
147
  response = {
146
148
  type: "noul",
147
- noul: answer.probability ?? 0.5,
149
+ noul: answer.noul ?? 0.5,
148
150
  };
149
- probability = answer.probability ?? 0.5;
151
+ probability = answer.noul ?? 0.5;
150
152
  break;
151
153
  case "choice":
152
154
  response = {
@@ -1 +1 @@
1
- {"version":3,"file":"typesafe-provider.js","sourceRoot":"","sources":["../src/typesafe-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typesafe-provider.js","sourceRoot":"","sources":["../src/typesafe-provider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/jev-judge",
3
- "version": "1.1.228",
3
+ "version": "1.1.230",
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",
@@ -10,6 +10,7 @@
10
10
 
11
11
  import { JevJudge } from "./index.js";
12
12
  import type { JevJudgeConfig, JevEvaluationResult } from "./types.js";
13
+ import { logError } from "./file-logger.js";
13
14
 
14
15
  /**
15
16
  * Task tracking state
@@ -128,7 +129,7 @@ export class AutoContinueJudge {
128
129
 
129
130
  return this.buildDecision(result, taskState);
130
131
  } catch (error) {
131
- console.error("[AutoContinueJudge] Jev call failed:", error);
132
+ logError("[AutoContinueJudge]", `Jev call failed: ${error}`);
132
133
  return this.fallbackDecision(taskState);
133
134
  }
134
135
  }
@@ -67,7 +67,7 @@ export interface ContinuationResult {
67
67
  export class TodoContinuationController {
68
68
  private pi: ExtensionAPI;
69
69
  private config: Required<ContinuationConfig>;
70
- private todoProvider = createTodoProvider();
70
+ private todoProvider: ReturnType<typeof createTodoProvider>;
71
71
 
72
72
  private state: ContinuationState = {
73
73
  sessionId: "",
@@ -85,6 +85,7 @@ export class TodoContinuationController {
85
85
 
86
86
  constructor(pi: ExtensionAPI, config?: ContinuationConfig) {
87
87
  this.pi = pi;
88
+ this.todoProvider = createTodoProvider(pi);
88
89
  this.config = {
89
90
  jevFallbackMinWaitMs: 5 * 60 * 1000, // 5 minutes
90
91
  routineThreshold: 0.7,
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import { JevJudge, getApiKeyFromEnv } from "./index.js";
12
+ import { logError } from "./file-logger.js";
12
13
 
13
14
  /**
14
15
  * Environment context
@@ -235,7 +236,7 @@ export class EnvironmentJudge {
235
236
  recommendedActions,
236
237
  };
237
238
  } catch (error) {
238
- console.error("[EnvironmentJudge] Jev call failed:", error);
239
+ logError("[EnvironmentJudge]", `Jev call failed: ${error}`);
239
240
  return this.fallbackDecision(ctx);
240
241
  }
241
242
  }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * File logger for jev-judge package
3
+ * Routes console output to file to avoid TUI interference
4
+ */
5
+
6
+ import { appendFileSync } from "node:fs";
7
+
8
+ const LOG_FILE = "/tmp/pi-harness-jev.log";
9
+
10
+ export function logToFile(prefix: string, ...parts: unknown[]): void {
11
+ try {
12
+ const msg = parts.map((p) => typeof p === "string" ? p : JSON.stringify(p)).join(" ");
13
+ appendFileSync(LOG_FILE, `[${new Date().toISOString()}] ${prefix} ${msg}\n`);
14
+ } catch {
15
+ // Silently fail if logging fails
16
+ }
17
+ }
18
+
19
+ export function logError(prefix: string, msg: string): void {
20
+ logToFile(prefix, msg);
21
+ }
@@ -176,15 +176,145 @@ export class MockTodoProvider implements TodoProvider {
176
176
  }
177
177
 
178
178
  /**
179
- * Create a todo provider based on available tools
179
+ * Extended ExtensionAPI type with sessionManager (not in base type but available at runtime)
180
+ */
181
+ interface PiExtensionAPI extends ExtensionAPI {
182
+ sessionManager: {
183
+ getSessionId(): string;
184
+ getBranch(): Iterable<unknown>;
185
+ };
186
+ }
187
+
188
+ /**
189
+ * Create a todo provider that reads from rpiv-todo state via session branch
180
190
  */
181
191
  export function createTodoProvider(pi?: ExtensionAPI): TodoProvider {
182
- // Check if Pi exposes a todo API
183
- // For now, Pi does not expose a todo extension API
184
- // Return a provider that reports unavailability
192
+ if (pi && "sessionManager" in pi) {
193
+ return new PiTodoProvider(pi as PiExtensionAPI);
194
+ }
185
195
  return new PiUnavailableTodoProvider();
186
196
  }
187
197
 
198
+ /**
199
+ * Provider that reads rpiv-todo state from session branch
200
+ * Replicates rpiv-todo's replayFromBranch logic to access todo state
201
+ */
202
+ class PiTodoProvider implements TodoProvider {
203
+ private pi: PiExtensionAPI;
204
+ private _revision = 0;
205
+
206
+ constructor(pi: PiExtensionAPI) {
207
+ this.pi = pi;
208
+ }
209
+
210
+ async availability(): Promise<TodoAvailability> {
211
+ if (!this.pi.sessionManager) {
212
+ return {
213
+ available: false,
214
+ error: "Session manager not available",
215
+ provider: "pi-todo",
216
+ };
217
+ }
218
+ return { available: true, provider: "pi-todo" };
219
+ }
220
+
221
+ /**
222
+ * Check if a value is a TaskDetails shape (defensive validation)
223
+ */
224
+ private isTaskDetails(value: unknown): value is { tasks: TodoItem[]; nextId: number } {
225
+ if (!value || typeof value !== "object") return false;
226
+ const v = value as Record<string, unknown>;
227
+ return Array.isArray(v.tasks) && typeof v.nextId === "number";
228
+ }
229
+
230
+ /**
231
+ * Get todo state from session branch (replicates rpiv-todo's replayFromBranch)
232
+ */
233
+ private getTodoState(): { tasks: TodoItem[]; nextId: number } {
234
+ let fromEntries: { tasks: TodoItem[]; nextId: number } | undefined;
235
+ let fromToolResults: { tasks: TodoItem[]; nextId: number } | undefined;
236
+
237
+ try {
238
+ for (const entry of this.pi.sessionManager.getBranch()) {
239
+ const e = entry as {
240
+ type?: string;
241
+ customType?: string;
242
+ data?: unknown;
243
+ message?: { role?: string; toolName?: string; details?: unknown };
244
+ };
245
+
246
+ // Priority 1: rpiv-todo-state custom entries
247
+ if (e.type === "custom") {
248
+ if (e.customType === "rpiv-todo-state" && this.isTaskDetails(e.data)) {
249
+ fromEntries = { tasks: (e.data as { tasks: TodoItem[] }).tasks.map(t => ({ ...t })), nextId: (e.data as { nextId: number }).nextId };
250
+ }
251
+ continue;
252
+ }
253
+
254
+ // Priority 2: toolResult entries with toolName === "todo"
255
+ if (e.type !== "message") continue;
256
+ const msg = e.message;
257
+ if (msg?.role !== "toolResult" || msg.toolName !== "todo") continue;
258
+ if (!this.isTaskDetails(msg.details)) continue;
259
+ fromToolResults = { tasks: (msg.details as { tasks: TodoItem[] }).tasks.map(t => ({ ...t })), nextId: (msg.details as { nextId: number }).nextId };
260
+ }
261
+ } catch (err) {
262
+ // Fall through to EMPTY_STATE on error
263
+ }
264
+
265
+ // Prefer custom entries (more authoritative), fall back to tool results
266
+ return fromEntries ?? fromToolResults ?? { tasks: [], nextId: 1 };
267
+ }
268
+
269
+ async getSnapshot(): Promise<TodoSnapshot> {
270
+ this._revision++;
271
+ const state = this.getTodoState();
272
+ return {
273
+ items: state.tasks,
274
+ sessionId: this.pi.sessionManager.getSessionId() ?? "unknown",
275
+ revision: this._revision,
276
+ createdAt: new Date(),
277
+ };
278
+ }
279
+
280
+ async getByStatus(status: TodoStatus): Promise<TodoItem[]> {
281
+ const { items } = await this.getSnapshot();
282
+ return items.filter((item) => item.status === status);
283
+ }
284
+
285
+ async getInProgress(): Promise<TodoItem[]> {
286
+ return this.getByStatus("in_progress");
287
+ }
288
+
289
+ async getPending(): Promise<TodoItem[]> {
290
+ return this.getByStatus("pending");
291
+ }
292
+
293
+ async getCompleted(): Promise<TodoItem[]> {
294
+ return this.getByStatus("completed");
295
+ }
296
+
297
+ async getReady(): Promise<TodoItem[]> {
298
+ const pending = await this.getPending();
299
+ const all = (await this.getSnapshot()).items;
300
+ return pending.filter((item) => {
301
+ if (!item.blockedBy?.length) return true;
302
+ const blockedIds = new Set(item.blockedBy);
303
+ return !all.some((i) => blockedIds.has(i.id) && i.status !== "completed");
304
+ });
305
+ }
306
+
307
+ async getBlocked(): Promise<TodoItem[]> {
308
+ const pending = await this.getPending();
309
+ const all = (await this.getSnapshot()).items;
310
+ return pending.filter((item) => {
311
+ if (!item.blockedBy?.length) return false;
312
+ const blockedIds = new Set(item.blockedBy);
313
+ return all.some((i) => blockedIds.has(i.id) && i.status !== "completed");
314
+ });
315
+ }
316
+ }
317
+
188
318
  /**
189
319
  * Provider that reports Pi todo extension is not available
190
320
  */
@@ -192,7 +322,7 @@ class PiUnavailableTodoProvider implements TodoProvider {
192
322
  async availability(): Promise<TodoAvailability> {
193
323
  return {
194
324
  available: false,
195
- error: "Pi does not expose a todo extension API. Todo state is not available.",
325
+ error: "Pi session manager not available. Todo state is not accessible.",
196
326
  provider: "pi-todo",
197
327
  };
198
328
  }
@@ -225,3 +355,8 @@ class PiUnavailableTodoProvider implements TodoProvider {
225
355
  return [];
226
356
  }
227
357
  }
358
+
359
+ /**
360
+ * Provider that reports Pi todo extension is not available
361
+ */
362
+