@kenkaiiii/ggcoder 5.17.0 → 5.19.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 (129) hide show
  1. package/README.md +2 -2
  2. package/dist/app-sidecar.js +228 -53
  3. package/dist/app-sidecar.js.map +1 -1
  4. package/dist/cli/auth.d.ts.map +1 -1
  5. package/dist/cli/auth.js +5 -2
  6. package/dist/cli/auth.js.map +1 -1
  7. package/dist/cli/shared.d.ts.map +1 -1
  8. package/dist/cli/shared.js +2 -0
  9. package/dist/cli/shared.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +15 -3
  12. package/dist/cli.js.map +1 -1
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +1 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/config.test.js +7 -0
  17. package/dist/config.test.js.map +1 -1
  18. package/dist/core/agent-session-compaction.test.js +84 -1
  19. package/dist/core/agent-session-compaction.test.js.map +1 -1
  20. package/dist/core/agent-session-memory-tail.test.js +1 -1
  21. package/dist/core/agent-session-memory-tail.test.js.map +1 -1
  22. package/dist/core/agent-session-queue.test.js +1 -1
  23. package/dist/core/agent-session-queue.test.js.map +1 -1
  24. package/dist/core/agent-session-tool-result-policy.test.d.ts +2 -0
  25. package/dist/core/agent-session-tool-result-policy.test.d.ts.map +1 -0
  26. package/dist/core/agent-session-tool-result-policy.test.js +12 -0
  27. package/dist/core/agent-session-tool-result-policy.test.js.map +1 -0
  28. package/dist/core/agent-session.d.ts +19 -8
  29. package/dist/core/agent-session.d.ts.map +1 -1
  30. package/dist/core/agent-session.js +111 -55
  31. package/dist/core/agent-session.js.map +1 -1
  32. package/dist/core/auth-providers.d.ts.map +1 -1
  33. package/dist/core/auth-providers.js +15 -8
  34. package/dist/core/auth-providers.js.map +1 -1
  35. package/dist/core/compaction/compactor.d.ts +9 -1
  36. package/dist/core/compaction/compactor.d.ts.map +1 -1
  37. package/dist/core/compaction/compactor.js +43 -9
  38. package/dist/core/compaction/compactor.js.map +1 -1
  39. package/dist/core/compaction/compactor.test.js +49 -0
  40. package/dist/core/compaction/compactor.test.js.map +1 -1
  41. package/dist/core/project-discovery.d.ts +4 -11
  42. package/dist/core/project-discovery.d.ts.map +1 -1
  43. package/dist/core/project-discovery.js +33 -30
  44. package/dist/core/project-discovery.js.map +1 -1
  45. package/dist/core/project-discovery.test.js +148 -0
  46. package/dist/core/project-discovery.test.js.map +1 -1
  47. package/dist/core/resolve-start.test.js +1 -0
  48. package/dist/core/resolve-start.test.js.map +1 -1
  49. package/dist/core/session-compaction.d.ts +3 -0
  50. package/dist/core/session-compaction.d.ts.map +1 -1
  51. package/dist/core/session-compaction.js +14 -1
  52. package/dist/core/session-compaction.js.map +1 -1
  53. package/dist/core/session-compaction.test.js +5 -0
  54. package/dist/core/session-compaction.test.js.map +1 -1
  55. package/dist/core/session-manager.d.ts +8 -1
  56. package/dist/core/session-manager.d.ts.map +1 -1
  57. package/dist/core/session-manager.js +7 -1
  58. package/dist/core/session-manager.js.map +1 -1
  59. package/dist/core/session-manager.test.js +17 -0
  60. package/dist/core/session-manager.test.js.map +1 -1
  61. package/dist/core/session-preview.d.ts +11 -0
  62. package/dist/core/session-preview.d.ts.map +1 -0
  63. package/dist/core/session-preview.js +50 -0
  64. package/dist/core/session-preview.js.map +1 -0
  65. package/dist/core/settings-manager.d.ts +1 -0
  66. package/dist/core/settings-manager.d.ts.map +1 -1
  67. package/dist/core/settings-manager.js +1 -0
  68. package/dist/core/settings-manager.js.map +1 -1
  69. package/dist/core/subagent-manager.d.ts +2 -4
  70. package/dist/core/subagent-manager.d.ts.map +1 -1
  71. package/dist/core/subagent-manager.js +4 -0
  72. package/dist/core/subagent-manager.js.map +1 -1
  73. package/dist/core/subagent-manager.test.js +13 -3
  74. package/dist/core/subagent-manager.test.js.map +1 -1
  75. package/dist/tools/subagent-shared.d.ts +8 -0
  76. package/dist/tools/subagent-shared.d.ts.map +1 -1
  77. package/dist/tools/subagent-shared.js.map +1 -1
  78. package/dist/tools/subagent.d.ts +3 -8
  79. package/dist/tools/subagent.d.ts.map +1 -1
  80. package/dist/tools/subagent.js +10 -8
  81. package/dist/tools/subagent.js.map +1 -1
  82. package/dist/tools/subagent.test.js +17 -1
  83. package/dist/tools/subagent.test.js.map +1 -1
  84. package/dist/ui/App.d.ts +0 -2
  85. package/dist/ui/App.d.ts.map +1 -1
  86. package/dist/ui/App.js +3 -66
  87. package/dist/ui/App.js.map +1 -1
  88. package/dist/ui/components/ModelSelector.d.ts.map +1 -1
  89. package/dist/ui/components/ModelSelector.js +1 -0
  90. package/dist/ui/components/ModelSelector.js.map +1 -1
  91. package/dist/ui/components/SubAgentPanel.d.ts +2 -0
  92. package/dist/ui/components/SubAgentPanel.d.ts.map +1 -1
  93. package/dist/ui/components/SubAgentPanel.js +4 -2
  94. package/dist/ui/components/SubAgentPanel.js.map +1 -1
  95. package/dist/ui/hooks/useSessionPersistence.d.ts.map +1 -1
  96. package/dist/ui/hooks/useSessionPersistence.js +3 -0
  97. package/dist/ui/hooks/useSessionPersistence.js.map +1 -1
  98. package/dist/ui/hooks/useTerminalTitle.d.ts +3 -3
  99. package/dist/ui/hooks/useTerminalTitle.d.ts.map +1 -1
  100. package/dist/ui/hooks/useTerminalTitle.js +5 -9
  101. package/dist/ui/hooks/useTerminalTitle.js.map +1 -1
  102. package/dist/ui/login.d.ts.map +1 -1
  103. package/dist/ui/login.js +7 -2
  104. package/dist/ui/login.js.map +1 -1
  105. package/dist/ui/render.d.ts +0 -2
  106. package/dist/ui/render.d.ts.map +1 -1
  107. package/dist/ui/render.js +0 -4
  108. package/dist/ui/render.js.map +1 -1
  109. package/dist/ui/render.test.js +10 -1
  110. package/dist/ui/render.test.js.map +1 -1
  111. package/dist/ui/terminal-history.js +6 -2
  112. package/dist/ui/terminal-history.js.map +1 -1
  113. package/dist/ui/terminal-history.test.js +2 -2
  114. package/dist/ui/terminal-history.test.js.map +1 -1
  115. package/dist/ui/tui-history-parity.test.js +8 -1
  116. package/dist/ui/tui-history-parity.test.js.map +1 -1
  117. package/dist/utils/git.d.ts +2 -0
  118. package/dist/utils/git.d.ts.map +1 -1
  119. package/dist/utils/git.js +12 -0
  120. package/dist/utils/git.js.map +1 -1
  121. package/dist/utils/git.test.d.ts +2 -0
  122. package/dist/utils/git.test.d.ts.map +1 -0
  123. package/dist/utils/git.test.js +36 -0
  124. package/dist/utils/git.test.js.map +1 -0
  125. package/package.json +4 -4
  126. package/dist/utils/session-title.d.ts +0 -19
  127. package/dist/utils/session-title.d.ts.map +0 -1
  128. package/dist/utils/session-title.js +0 -82
  129. package/dist/utils/session-title.js.map +0 -1
@@ -1,82 +0,0 @@
1
- import { stream } from "@kenkaiiii/gg-ai";
2
- const TITLE_PROMPT = `Generate an extremely short title (3-7 words) summarizing what the user is asking for. Just the title, nothing else. No quotes, no punctuation at the end.`;
3
- /**
4
- * Makes a lightweight LLM call to generate a short session title
5
- * from the conversation so far. Uses the cheapest/fastest model
6
- * available for the given provider.
7
- */
8
- export async function generateSessionTitle(opts) {
9
- // Resolve fresh credentials if available
10
- let apiKey = opts.apiKey;
11
- let accountId = opts.accountId;
12
- if (opts.resolveCredentials) {
13
- const creds = await opts.resolveCredentials();
14
- apiKey = creds.apiKey;
15
- accountId = creds.accountId;
16
- }
17
- // Use the cheapest model for title generation
18
- const model = opts.provider === "anthropic"
19
- ? "claude-haiku-4-5-20251001"
20
- : opts.provider === "openai"
21
- ? "gpt-5.1-codex-mini"
22
- : opts.provider === "glm"
23
- ? "glm-4.7-flash"
24
- : opts.provider === "moonshot"
25
- ? "kimi-k2.7-code"
26
- : "claude-haiku-4-5-20251001";
27
- const messages = [
28
- { role: "system", content: TITLE_PROMPT },
29
- {
30
- role: "user",
31
- content: `User asked: "${truncate(opts.userMessage, 300)}"\n\nAssistant began: "${truncate(opts.assistantPreview, 200)}"`,
32
- },
33
- ];
34
- try {
35
- const result = stream({
36
- provider: opts.provider,
37
- model,
38
- messages,
39
- maxTokens: 30,
40
- temperature: 0,
41
- apiKey,
42
- baseUrl: opts.baseUrl,
43
- accountId,
44
- });
45
- // Attach a no-op catch immediately to prevent Node's unhandled rejection
46
- // detection from firing in the microtask gap before our await hooks up.
47
- result.response.catch(() => { });
48
- const response = await result;
49
- const msg = response.message;
50
- const text = typeof msg.content === "string"
51
- ? msg.content
52
- : msg.content
53
- .filter((c) => c.type === "text")
54
- .map((c) => c.text)
55
- .join("");
56
- return text.trim().replace(/[."]+$/, "") || "New conversation";
57
- }
58
- catch {
59
- // Silently fall back — title generation is best-effort
60
- return fallbackTitle(opts.userMessage);
61
- }
62
- }
63
- function truncate(s, max) {
64
- if (s.length <= max)
65
- return s;
66
- return s.slice(0, max) + "…";
67
- }
68
- function fallbackTitle(userMessage) {
69
- if (!userMessage)
70
- return "New conversation";
71
- const cleaned = userMessage
72
- .replace(/^\/\S+\s*/, "")
73
- .replace(/\s+/g, " ")
74
- .trim();
75
- const first = cleaned.split(/[.\n]/)[0]?.trim() ?? cleaned;
76
- if (first.length <= 50)
77
- return first;
78
- const t = first.slice(0, 50);
79
- const sp = t.lastIndexOf(" ");
80
- return (sp > 20 ? t.slice(0, sp) : t) + "…";
81
- }
82
- //# sourceMappingURL=session-title.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-title.js","sourceRoot":"","sources":["../../src/utils/session-title.ts"],"names":[],"mappings":"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"}