@kenkaiiii/ggcoder 5.19.5 → 5.20.0

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 (123) hide show
  1. package/dist/app-sidecar.js +10 -5
  2. package/dist/app-sidecar.js.map +1 -1
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +8 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.d.ts +4 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +9 -0
  9. package/dist/config.js.map +1 -1
  10. package/dist/core/agent-session.d.ts +3 -0
  11. package/dist/core/agent-session.d.ts.map +1 -1
  12. package/dist/core/agent-session.js +31 -6
  13. package/dist/core/agent-session.js.map +1 -1
  14. package/dist/core/agents.d.ts +1 -1
  15. package/dist/core/agents.d.ts.map +1 -1
  16. package/dist/core/agents.js +4 -1
  17. package/dist/core/agents.js.map +1 -1
  18. package/dist/core/compaction/compactor.test.js +3 -3
  19. package/dist/core/event-bus.d.ts +4 -0
  20. package/dist/core/event-bus.d.ts.map +1 -1
  21. package/dist/core/event-bus.js +6 -0
  22. package/dist/core/event-bus.js.map +1 -1
  23. package/dist/core/input-normalization.test.d.ts +2 -0
  24. package/dist/core/input-normalization.test.d.ts.map +1 -0
  25. package/dist/core/input-normalization.test.js +75 -0
  26. package/dist/core/input-normalization.test.js.map +1 -0
  27. package/dist/core/loop-breaker.d.ts +38 -1
  28. package/dist/core/loop-breaker.d.ts.map +1 -1
  29. package/dist/core/loop-breaker.js +84 -2
  30. package/dist/core/loop-breaker.js.map +1 -1
  31. package/dist/core/loop-breaker.test.js +108 -1
  32. package/dist/core/loop-breaker.test.js.map +1 -1
  33. package/dist/core/settings-manager.d.ts +2 -0
  34. package/dist/core/settings-manager.d.ts.map +1 -1
  35. package/dist/core/settings-manager.js +7 -0
  36. package/dist/core/settings-manager.js.map +1 -1
  37. package/dist/core/sidecar-error-reporter.d.ts +2 -0
  38. package/dist/core/sidecar-error-reporter.d.ts.map +1 -1
  39. package/dist/core/sidecar-error-reporter.js +29 -0
  40. package/dist/core/sidecar-error-reporter.js.map +1 -1
  41. package/dist/core/sidecar-error-reporter.test.js +21 -1
  42. package/dist/core/sidecar-error-reporter.test.js.map +1 -1
  43. package/dist/core/skills.d.ts +1 -1
  44. package/dist/core/skills.d.ts.map +1 -1
  45. package/dist/core/skills.js +4 -1
  46. package/dist/core/skills.js.map +1 -1
  47. package/dist/core/subagent-manager.d.ts +7 -0
  48. package/dist/core/subagent-manager.d.ts.map +1 -1
  49. package/dist/core/subagent-manager.js +15 -0
  50. package/dist/core/subagent-manager.js.map +1 -1
  51. package/dist/core/subagent-manager.test.js +34 -0
  52. package/dist/core/subagent-manager.test.js.map +1 -1
  53. package/dist/core/workspace-guard.d.ts +38 -0
  54. package/dist/core/workspace-guard.d.ts.map +1 -0
  55. package/dist/core/workspace-guard.js +112 -0
  56. package/dist/core/workspace-guard.js.map +1 -0
  57. package/dist/core/workspace-guard.test.d.ts +2 -0
  58. package/dist/core/workspace-guard.test.d.ts.map +1 -0
  59. package/dist/core/workspace-guard.test.js +86 -0
  60. package/dist/core/workspace-guard.test.js.map +1 -0
  61. package/dist/modes/json-mode.d.ts.map +1 -1
  62. package/dist/modes/json-mode.js +3 -0
  63. package/dist/modes/json-mode.js.map +1 -1
  64. package/dist/modes/subagent-worker-mode.d.ts.map +1 -1
  65. package/dist/modes/subagent-worker-mode.js +1 -0
  66. package/dist/modes/subagent-worker-mode.js.map +1 -1
  67. package/dist/system-prompt.d.ts +12 -0
  68. package/dist/system-prompt.d.ts.map +1 -1
  69. package/dist/system-prompt.js +77 -9
  70. package/dist/system-prompt.js.map +1 -1
  71. package/dist/system-prompt.test.js +109 -1
  72. package/dist/system-prompt.test.js.map +1 -1
  73. package/dist/tools/bash.d.ts +2 -1
  74. package/dist/tools/bash.d.ts.map +1 -1
  75. package/dist/tools/bash.js +31 -5
  76. package/dist/tools/bash.js.map +1 -1
  77. package/dist/tools/bash.test.js +34 -1
  78. package/dist/tools/bash.test.js.map +1 -1
  79. package/dist/tools/edit.d.ts +2 -1
  80. package/dist/tools/edit.d.ts.map +1 -1
  81. package/dist/tools/edit.js +7 -1
  82. package/dist/tools/edit.js.map +1 -1
  83. package/dist/tools/edit.test.js +7 -0
  84. package/dist/tools/edit.test.js.map +1 -1
  85. package/dist/tools/exit-plan.d.ts.map +1 -1
  86. package/dist/tools/exit-plan.js +15 -4
  87. package/dist/tools/exit-plan.js.map +1 -1
  88. package/dist/tools/exit-plan.test.d.ts +2 -0
  89. package/dist/tools/exit-plan.test.d.ts.map +1 -0
  90. package/dist/tools/exit-plan.test.js +72 -0
  91. package/dist/tools/exit-plan.test.js.map +1 -0
  92. package/dist/tools/index.d.ts +8 -0
  93. package/dist/tools/index.d.ts.map +1 -1
  94. package/dist/tools/index.js +3 -2
  95. package/dist/tools/index.js.map +1 -1
  96. package/dist/tools/skill.d.ts.map +1 -1
  97. package/dist/tools/skill.js +4 -2
  98. package/dist/tools/skill.js.map +1 -1
  99. package/dist/tools/subagent-shared.test.js +16 -1
  100. package/dist/tools/subagent-shared.test.js.map +1 -1
  101. package/dist/tools/write.d.ts +2 -1
  102. package/dist/tools/write.d.ts.map +1 -1
  103. package/dist/tools/write.js +7 -1
  104. package/dist/tools/write.js.map +1 -1
  105. package/dist/tools/write.test.js +12 -0
  106. package/dist/tools/write.test.js.map +1 -1
  107. package/dist/ui/App.d.ts.map +1 -1
  108. package/dist/ui/App.js +17 -3
  109. package/dist/ui/App.js.map +1 -1
  110. package/dist/ui/app-items.d.ts +10 -0
  111. package/dist/ui/app-items.d.ts.map +1 -1
  112. package/dist/ui/app-items.js +10 -0
  113. package/dist/ui/app-items.js.map +1 -1
  114. package/dist/ui/components/Footer.test.js +1 -1
  115. package/dist/ui/hooks/useAgentLoop.d.ts +4 -1
  116. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  117. package/dist/ui/hooks/useAgentLoop.js +49 -8
  118. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  119. package/dist/utils/text.d.ts +9 -0
  120. package/dist/utils/text.d.ts.map +1 -0
  121. package/dist/utils/text.js +11 -0
  122. package/dist/utils/text.js.map +1 -0
  123. package/package.json +4 -4
@@ -64,7 +64,7 @@ import { loadProgress, peekProgress, updateProgress } from "./core/progress/stor
64
64
  import { awardPrompt, awardCommits } from "./core/progress/engine.js";
65
65
  import { detectNewCommits, repoKey } from "./core/progress/git-xp.js";
66
66
  import { rebuildFromSessions } from "./core/progress/rebuild.js";
67
- import { captureSidecarError, flushSidecarErrors, wrapSidecarHandler, } from "./core/sidecar-error-reporter.js";
67
+ import { captureSidecarError, flushSidecarErrors, shouldCaptureToolFailure, shouldCaptureUsagePollingError, wrapSidecarHandler, } from "./core/sidecar-error-reporter.js";
68
68
  const ALL_PROVIDERS = [
69
69
  // US
70
70
  "anthropic",
@@ -597,7 +597,9 @@ async function main() {
597
597
  }
598
598
  catch (error) {
599
599
  const message = error instanceof Error ? error.message : String(error);
600
- captureSidecarError(error, "app-sidecar.usage.fetch", { provider });
600
+ if (shouldCaptureUsagePollingError(error)) {
601
+ captureSidecarError(error, "app-sidecar.usage.fetch", { provider });
602
+ }
601
603
  log("WARN", "app-sidecar", "subscription usage fetch failed", { provider, message });
602
604
  if (error instanceof SubscriptionUsageError && error.status === 429) {
603
605
  usageRateLimitedUntil.set(provider, Date.now() + USAGE_RATE_LIMIT_BACKOFF_MS);
@@ -1258,9 +1260,9 @@ async function createSession(deps, opts) {
1258
1260
  session.eventBus.on("tool_call_end", (d) => {
1259
1261
  const name = toolCallNames.get(d.toolCallId) ?? "unknown";
1260
1262
  toolCallNames.delete(d.toolCallId);
1261
- if (d.isError) {
1262
- // Tool output can contain private project data. Report the failure and tool
1263
- // identity without shipping the raw result body to Error Mom.
1263
+ if (d.isError && shouldCaptureToolFailure(name, d.result)) {
1264
+ // Expected model-correctable validation failures stay in the local log and
1265
+ // conversation. Unexpected failures are reported without private result data.
1264
1266
  captureSidecarError(new Error(`Tool ${name} failed`), `tool.${name}`, { tool: name });
1265
1267
  }
1266
1268
  log(d.isError ? "ERROR" : "INFO", "tool", `Tool call ended: ${name}`, {
@@ -1283,6 +1285,9 @@ async function createSession(deps, opts) {
1283
1285
  session.eventBus.on("server_tool_call", (d) => broadcast("server_tool_call", d));
1284
1286
  session.eventBus.on("turn_end", (d) => broadcast("turn_end", d));
1285
1287
  session.eventBus.on("agent_done", (d) => broadcast("agent_done", d));
1288
+ // Non-clean stop (max_tokens/refusal/provider error) — info-style frame so
1289
+ // the webview can warn instead of presenting truncated output as complete.
1290
+ session.eventBus.on("truncated", (d) => broadcast("truncated", d));
1286
1291
  session.eventBus.on("error", (d) => {
1287
1292
  broadcastError("error", "agent error", d.error);
1288
1293
  });