taskplane 0.29.2 → 0.30.1

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 (43) hide show
  1. package/bin/gitignore-patterns.mjs +11 -8
  2. package/bin/rpc-wrapper.mjs +410 -357
  3. package/bin/taskplane.mjs +533 -250
  4. package/dashboard/public/app.js +124 -15
  5. package/dashboard/public/style.css +83 -2
  6. package/extensions/reviewer-extension.ts +17 -11
  7. package/extensions/taskplane/abort.ts +50 -18
  8. package/extensions/taskplane/agent-bridge-extension.ts +232 -105
  9. package/extensions/taskplane/agent-host.ts +224 -97
  10. package/extensions/taskplane/cleanup.ts +71 -42
  11. package/extensions/taskplane/config-loader.ts +142 -58
  12. package/extensions/taskplane/config-schema.ts +6 -13
  13. package/extensions/taskplane/config.ts +10 -2
  14. package/extensions/taskplane/diagnostic-reports.ts +59 -47
  15. package/extensions/taskplane/diagnostics.ts +13 -13
  16. package/extensions/taskplane/discovery.ts +78 -63
  17. package/extensions/taskplane/engine-worker.ts +53 -46
  18. package/extensions/taskplane/engine.ts +1760 -602
  19. package/extensions/taskplane/execution.ts +469 -207
  20. package/extensions/taskplane/extension.ts +1073 -598
  21. package/extensions/taskplane/formatting.ts +136 -124
  22. package/extensions/taskplane/git.ts +0 -2
  23. package/extensions/taskplane/lane-runner.ts +652 -319
  24. package/extensions/taskplane/mailbox.ts +57 -49
  25. package/extensions/taskplane/merge.ts +662 -383
  26. package/extensions/taskplane/messages.ts +109 -51
  27. package/extensions/taskplane/migrations.ts +1 -1
  28. package/extensions/taskplane/path-resolver.ts +8 -9
  29. package/extensions/taskplane/persistence.ts +425 -262
  30. package/extensions/taskplane/process-registry.ts +36 -7
  31. package/extensions/taskplane/quality-gate.ts +107 -55
  32. package/extensions/taskplane/resume.ts +832 -280
  33. package/extensions/taskplane/sessions.ts +1 -1
  34. package/extensions/taskplane/settings-tui.ts +505 -164
  35. package/extensions/taskplane/sidecar-telemetry.ts +25 -10
  36. package/extensions/taskplane/supervisor.ts +477 -270
  37. package/extensions/taskplane/task-executor-core.ts +178 -53
  38. package/extensions/taskplane/types.ts +209 -108
  39. package/extensions/taskplane/verification.ts +27 -22
  40. package/extensions/taskplane/waves.ts +59 -43
  41. package/extensions/taskplane/workspace.ts +14 -12
  42. package/extensions/taskplane/worktree.ts +218 -196
  43. package/package.json +14 -2
@@ -107,12 +107,25 @@ export interface SidecarTelemetryDelta {
107
107
  *
108
108
  * The caller (poll loop) accumulates the returned deltas into TaskState.
109
109
  */
110
- export function tailSidecarJsonl(filePath: string, tailState: SidecarTailState): SidecarTelemetryDelta {
110
+ export function tailSidecarJsonl(
111
+ filePath: string,
112
+ tailState: SidecarTailState,
113
+ ): SidecarTelemetryDelta {
111
114
  const delta: SidecarTelemetryDelta = {
112
- inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0,
113
- cost: 0, latestTotalTokens: 0, toolCalls: 0, lastTool: "",
114
- retryActive: tailState.retryActive, retriesStarted: 0, lastRetryError: "",
115
- hadEvents: false, contextUsage: null, sawStatsResponseWithoutContextUsage: false,
115
+ inputTokens: 0,
116
+ outputTokens: 0,
117
+ cacheReadTokens: 0,
118
+ cacheWriteTokens: 0,
119
+ cost: 0,
120
+ latestTotalTokens: 0,
121
+ toolCalls: 0,
122
+ lastTool: "",
123
+ retryActive: tailState.retryActive,
124
+ retriesStarted: 0,
125
+ lastRetryError: "",
126
+ hadEvents: false,
127
+ contextUsage: null,
128
+ sawStatsResponseWithoutContextUsage: false,
116
129
  };
117
130
 
118
131
  // Gracefully handle missing file (wrapper hasn't written yet)
@@ -176,16 +189,18 @@ export function tailSidecarJsonl(filePath: string, tailState: SidecarTailState):
176
189
  delta.cacheReadTokens += usage.cacheRead || 0;
177
190
  delta.cacheWriteTokens += usage.cacheWrite || 0;
178
191
  if (usage.cost) {
179
- delta.cost += typeof usage.cost === "object"
180
- ? (usage.cost.total || 0)
181
- : (typeof usage.cost === "number" ? usage.cost : 0);
192
+ delta.cost +=
193
+ typeof usage.cost === "object"
194
+ ? usage.cost.total || 0
195
+ : typeof usage.cost === "number"
196
+ ? usage.cost
197
+ : 0;
182
198
  }
183
199
  // totalTokens is cumulative (grows each turn) — use latest value.
184
200
  // Include cacheRead tokens: pi's totalTokens and the
185
201
  // input+output fallback both exclude cache reads, but cached
186
202
  // tokens still consume context window capacity.
187
- const rawTotal = usage.totalTokens
188
- || ((usage.input || 0) + (usage.output || 0));
203
+ const rawTotal = usage.totalTokens || (usage.input || 0) + (usage.output || 0);
189
204
  const totalTokens = rawTotal + (usage.cacheRead || 0);
190
205
  if (totalTokens > delta.latestTotalTokens) {
191
206
  delta.latestTotalTokens = totalTokens;