longer-agent 0.1.0 → 0.1.2

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 (96) hide show
  1. package/README.md +84 -43
  2. package/README.zh-CN.md +83 -42
  3. package/agent_templates/main/agent.yaml +1 -0
  4. package/dist/auth/openai-oauth.d.ts.map +1 -1
  5. package/dist/auth/openai-oauth.js +6 -10
  6. package/dist/auth/openai-oauth.js.map +1 -1
  7. package/dist/cli.d.ts +1 -2
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +81 -60
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands.d.ts +6 -1
  12. package/dist/commands.d.ts.map +1 -1
  13. package/dist/commands.js +115 -26
  14. package/dist/commands.js.map +1 -1
  15. package/dist/config.d.ts +19 -26
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +80 -120
  18. package/dist/config.js.map +1 -1
  19. package/dist/dotenv.d.ts +18 -0
  20. package/dist/dotenv.d.ts.map +1 -0
  21. package/dist/dotenv.js +91 -0
  22. package/dist/dotenv.js.map +1 -0
  23. package/dist/home-path.d.ts +3 -0
  24. package/dist/home-path.d.ts.map +1 -0
  25. package/dist/home-path.js +7 -0
  26. package/dist/home-path.js.map +1 -0
  27. package/dist/index.d.ts +6 -2
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +10 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/init-wizard.d.ts +2 -3
  32. package/dist/init-wizard.d.ts.map +1 -1
  33. package/dist/init-wizard.js +349 -145
  34. package/dist/init-wizard.js.map +1 -1
  35. package/dist/managed-provider-credentials.d.ts +23 -0
  36. package/dist/managed-provider-credentials.d.ts.map +1 -0
  37. package/dist/managed-provider-credentials.js +56 -0
  38. package/dist/managed-provider-credentials.js.map +1 -0
  39. package/dist/mcp-client.d.ts.map +1 -1
  40. package/dist/mcp-client.js +2 -1
  41. package/dist/mcp-client.js.map +1 -1
  42. package/dist/mcp-config.d.ts +13 -0
  43. package/dist/mcp-config.d.ts.map +1 -0
  44. package/dist/mcp-config.js +64 -0
  45. package/dist/mcp-config.js.map +1 -0
  46. package/dist/model-discovery.d.ts +20 -0
  47. package/dist/model-discovery.d.ts.map +1 -0
  48. package/dist/model-discovery.js +47 -0
  49. package/dist/model-discovery.js.map +1 -0
  50. package/dist/model-selection.d.ts +1 -1
  51. package/dist/model-selection.d.ts.map +1 -1
  52. package/dist/model-selection.js +20 -10
  53. package/dist/model-selection.js.map +1 -1
  54. package/dist/persistence.d.ts +12 -0
  55. package/dist/persistence.d.ts.map +1 -1
  56. package/dist/persistence.js +8 -6
  57. package/dist/persistence.js.map +1 -1
  58. package/dist/provider-credential-flow.d.ts +28 -0
  59. package/dist/provider-credential-flow.d.ts.map +1 -0
  60. package/dist/provider-credential-flow.js +112 -0
  61. package/dist/provider-credential-flow.js.map +1 -0
  62. package/dist/provider-presets.d.ts +4 -0
  63. package/dist/provider-presets.d.ts.map +1 -1
  64. package/dist/provider-presets.js +26 -9
  65. package/dist/provider-presets.js.map +1 -1
  66. package/dist/providers/registry.d.ts.map +1 -1
  67. package/dist/providers/registry.js +3 -2
  68. package/dist/providers/registry.js.map +1 -1
  69. package/dist/session.d.ts +6 -15
  70. package/dist/session.d.ts.map +1 -1
  71. package/dist/session.js +34 -60
  72. package/dist/session.js.map +1 -1
  73. package/dist/settings.d.ts +8 -27
  74. package/dist/settings.d.ts.map +1 -1
  75. package/dist/settings.js +4 -108
  76. package/dist/settings.js.map +1 -1
  77. package/dist/tui/app.d.ts.map +1 -1
  78. package/dist/tui/app.js +116 -2
  79. package/dist/tui/app.js.map +1 -1
  80. package/dist/tui/components/command-prompt-panel.d.ts +22 -0
  81. package/dist/tui/components/command-prompt-panel.d.ts.map +1 -0
  82. package/dist/tui/components/command-prompt-panel.js +26 -0
  83. package/dist/tui/components/command-prompt-panel.js.map +1 -0
  84. package/dist/tui/components/logo-panel.d.ts.map +1 -1
  85. package/dist/tui/components/logo-panel.js +2 -4
  86. package/dist/tui/components/logo-panel.js.map +1 -1
  87. package/dist/update-check.d.ts +19 -0
  88. package/dist/update-check.d.ts.map +1 -0
  89. package/dist/update-check.js +116 -0
  90. package/dist/update-check.js.map +1 -0
  91. package/dist/version.d.ts +2 -0
  92. package/dist/version.d.ts.map +1 -0
  93. package/dist/version.js +7 -0
  94. package/dist/version.js.map +1 -0
  95. package/package.json +7 -3
  96. package/configExample.yaml +0 -83
@@ -1,40 +1,21 @@
1
1
  /**
2
- * User settings loaded from ~/.longeragent/settings.json.
2
+ * Context management thresholds and hysteresis computation.
3
3
  *
4
- * Separate from config.yaml which defines resources (models, providers, MCP).
5
- * Settings define runtime behavior tuning (thresholds, output limits).
6
- * This file is manually edited by the user; no TUI/CLI commands modify it.
4
+ * Thresholds are fixed defaults no longer loaded from settings.json.
5
+ * The user controls effective context size via the contextRatio
6
+ * preference (stored in tui-preferences.json).
7
7
  */
8
8
  export interface ContextThresholds {
9
- /** Summarize hint level 1 trigger (percentage 20-95 of effective context window). */
9
+ /** Summarize hint level 1 trigger (percentage of effective context budget). */
10
10
  summarize_hint_level1: number;
11
- /** Summarize hint level 2 trigger (percentage 20-95, must be >= level1). */
11
+ /** Summarize hint level 2 trigger (percentage, must be >= level1). */
12
12
  summarize_hint_level2: number;
13
- /** Auto-compact trigger on normal output (percentage 20-95). */
13
+ /** Auto-compact trigger on normal output (percentage). */
14
14
  compact_output: number;
15
- /** Auto-compact trigger when tool calls present (percentage 20-95, must be >= compact_output). */
15
+ /** Auto-compact trigger when tool calls present (percentage, must be >= compact_output). */
16
16
  compact_toolcall: number;
17
17
  }
18
- export interface UserSettings {
19
- /** Global max output tokens override. Clamped to [4096, model_max]. */
20
- max_output_tokens?: number;
21
- /** Context management thresholds. */
22
- context?: Partial<ContextThresholds>;
23
- }
24
- /** Resolved settings with defaults applied and validation complete. */
25
- export interface ResolvedSettings {
26
- maxOutputTokens: number | undefined;
27
- thresholds: ContextThresholds;
28
- warnings: string[];
29
- }
30
18
  export declare const DEFAULT_THRESHOLDS: ContextThresholds;
31
- export declare function loadSettingsFile(homeDir?: string): UserSettings | null;
32
- /**
33
- * Validate and resolve user settings.
34
- * Returns resolved settings with defaults applied and a list of warnings
35
- * for any invalid values.
36
- */
37
- export declare function resolveSettings(raw: UserSettings | null): ResolvedSettings;
38
19
  /**
39
20
  * Compute hysteresis reset thresholds from trigger thresholds.
40
21
  * These are not user-configurable; they are auto-derived.
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,qBAAqB,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,kGAAkG;IAClG,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtC;AAED,uEAAuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD,eAAO,MAAM,kBAAkB,EAAE,iBAKhC,CAAC;AAQF,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAWtE;AAUD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,GAAG,gBAAgB,CA6E1E;AAMD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,iBAAiB,GAAG;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAKA"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAMD,eAAO,MAAM,kBAAkB,EAAE,iBAKhC,CAAC;AAMF;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,iBAAiB,GAAG;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAKA"}
package/dist/settings.js CHANGED
@@ -1,14 +1,10 @@
1
1
  /**
2
- * User settings loaded from ~/.longeragent/settings.json.
2
+ * Context management thresholds and hysteresis computation.
3
3
  *
4
- * Separate from config.yaml which defines resources (models, providers, MCP).
5
- * Settings define runtime behavior tuning (thresholds, output limits).
6
- * This file is manually edited by the user; no TUI/CLI commands modify it.
4
+ * Thresholds are fixed defaults no longer loaded from settings.json.
5
+ * The user controls effective context size via the contextRatio
6
+ * preference (stored in tui-preferences.json).
7
7
  */
8
- import { existsSync, readFileSync } from "node:fs";
9
- import { join } from "node:path";
10
- import { LONGERAGENT_HOME_DIR } from "./config.js";
11
- import { homedir } from "node:os";
12
8
  // ------------------------------------------------------------------
13
9
  // Defaults
14
10
  // ------------------------------------------------------------------
@@ -19,106 +15,6 @@ export const DEFAULT_THRESHOLDS = {
19
15
  compact_toolcall: 90,
20
16
  };
21
17
  // ------------------------------------------------------------------
22
- // Loading
23
- // ------------------------------------------------------------------
24
- const SETTINGS_FILE = "settings.json";
25
- export function loadSettingsFile(homeDir) {
26
- const home = homeDir ?? join(homedir(), LONGERAGENT_HOME_DIR);
27
- const settingsPath = join(home, SETTINGS_FILE);
28
- if (!existsSync(settingsPath))
29
- return null;
30
- try {
31
- const raw = readFileSync(settingsPath, "utf-8");
32
- return JSON.parse(raw);
33
- }
34
- catch {
35
- return null;
36
- }
37
- }
38
- // ------------------------------------------------------------------
39
- // Validation
40
- // ------------------------------------------------------------------
41
- function isValidThreshold(v) {
42
- return typeof v === "number" && Number.isFinite(v) && v >= 20 && v <= 95;
43
- }
44
- /**
45
- * Validate and resolve user settings.
46
- * Returns resolved settings with defaults applied and a list of warnings
47
- * for any invalid values.
48
- */
49
- export function resolveSettings(raw) {
50
- const warnings = [];
51
- if (!raw) {
52
- return {
53
- maxOutputTokens: undefined,
54
- thresholds: { ...DEFAULT_THRESHOLDS },
55
- warnings,
56
- };
57
- }
58
- // -- max_output_tokens --
59
- let maxOutputTokens;
60
- if (raw.max_output_tokens !== undefined) {
61
- if (typeof raw.max_output_tokens === "number" && Number.isFinite(raw.max_output_tokens)) {
62
- if (raw.max_output_tokens < 4096) {
63
- maxOutputTokens = 4096;
64
- warnings.push(`max_output_tokens (${raw.max_output_tokens}) 低于最小值 4096,已调整为 4096`);
65
- }
66
- else {
67
- maxOutputTokens = raw.max_output_tokens;
68
- }
69
- }
70
- else {
71
- warnings.push(`max_output_tokens 必须是数字,已忽略`);
72
- }
73
- }
74
- // -- context thresholds --
75
- const ctx = raw.context;
76
- const thresholds = { ...DEFAULT_THRESHOLDS };
77
- if (ctx) {
78
- // Validate summarize pair independently
79
- const s1 = ctx.summarize_hint_level1;
80
- const s2 = ctx.summarize_hint_level2;
81
- const hasS1 = s1 !== undefined;
82
- const hasS2 = s2 !== undefined;
83
- if (hasS1 || hasS2) {
84
- const v1 = hasS1 ? s1 : DEFAULT_THRESHOLDS.summarize_hint_level1;
85
- const v2 = hasS2 ? s2 : DEFAULT_THRESHOLDS.summarize_hint_level2;
86
- if (!isValidThreshold(v1) || !isValidThreshold(v2)) {
87
- const invalid = !isValidThreshold(v1) ? `summarize_hint_level1=${v1}` : `summarize_hint_level2=${v2}`;
88
- warnings.push(`Summarize 阈值无效(${invalid} 不在 20-95 范围内),已使用默认值 ${DEFAULT_THRESHOLDS.summarize_hint_level1}/${DEFAULT_THRESHOLDS.summarize_hint_level2}`);
89
- }
90
- else if (v2 < v1) {
91
- warnings.push(`Summarize 阈值无效(level2=${v2} < level1=${v1}),已使用默认值 ${DEFAULT_THRESHOLDS.summarize_hint_level1}/${DEFAULT_THRESHOLDS.summarize_hint_level2}`);
92
- }
93
- else {
94
- thresholds.summarize_hint_level1 = v1;
95
- thresholds.summarize_hint_level2 = v2;
96
- }
97
- }
98
- // Validate compact pair independently
99
- const cOut = ctx.compact_output;
100
- const cTool = ctx.compact_toolcall;
101
- const hasCOut = cOut !== undefined;
102
- const hasCTool = cTool !== undefined;
103
- if (hasCOut || hasCTool) {
104
- const vOut = hasCOut ? cOut : DEFAULT_THRESHOLDS.compact_output;
105
- const vTool = hasCTool ? cTool : DEFAULT_THRESHOLDS.compact_toolcall;
106
- if (!isValidThreshold(vOut) || !isValidThreshold(vTool)) {
107
- const invalid = !isValidThreshold(vOut) ? `compact_output=${vOut}` : `compact_toolcall=${vTool}`;
108
- warnings.push(`Compact 阈值无效(${invalid} 不在 20-95 范围内),已使用默认值 ${DEFAULT_THRESHOLDS.compact_output}/${DEFAULT_THRESHOLDS.compact_toolcall}`);
109
- }
110
- else if (vTool < vOut) {
111
- warnings.push(`Compact 阈值无效(compact_toolcall=${vTool} < compact_output=${vOut}),已使用默认值 ${DEFAULT_THRESHOLDS.compact_output}/${DEFAULT_THRESHOLDS.compact_toolcall}`);
112
- }
113
- else {
114
- thresholds.compact_output = vOut;
115
- thresholds.compact_toolcall = vTool;
116
- }
117
- }
118
- }
119
- return { maxOutputTokens, thresholds, warnings };
120
- }
121
- // ------------------------------------------------------------------
122
18
  // Derived hysteresis thresholds
123
19
  // ------------------------------------------------------------------
124
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA+BlC,qEAAqE;AACrE,WAAW;AACX,qEAAqE;AAErE,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,qBAAqB,EAAE,EAAE;IACzB,qBAAqB,EAAE,EAAE;IACzB,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;CACrB,CAAC;AAEF,qEAAqE;AACrE,UAAU;AACV,qEAAqE;AAErE,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,aAAa;AACb,qEAAqE;AAErE,SAAS,gBAAgB,CAAC,CAAU;IAClC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAwB;IACtD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,eAAe,EAAE,SAAS;YAC1B,UAAU,EAAE,EAAE,GAAG,kBAAkB,EAAE;YACrC,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IAAI,eAAmC,CAAC;IACxC,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxF,IAAI,GAAG,CAAC,iBAAiB,GAAG,IAAI,EAAE,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC;gBACvB,QAAQ,CAAC,IAAI,CACX,sBAAsB,GAAG,CAAC,iBAAiB,wBAAwB,CACpE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;IACxB,MAAM,UAAU,GAAG,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE7C,IAAI,GAAG,EAAE,CAAC;QACR,wCAAwC;QACxC,MAAM,EAAE,GAAG,GAAG,CAAC,qBAAqB,CAAC;QACrC,MAAM,EAAE,GAAG,GAAG,CAAC,qBAAqB,CAAC;QACrC,MAAM,KAAK,GAAG,EAAE,KAAK,SAAS,CAAC;QAC/B,MAAM,KAAK,GAAG,EAAE,KAAK,SAAS,CAAC;QAE/B,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,qBAAqB,CAAC;YACjE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,qBAAqB,CAAC;YAEjE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB,EAAE,EAAE,CAAC;gBACtG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,OAAO,yBAAyB,kBAAkB,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAC1J,CAAC;iBAAM,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;gBACnB,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE,aAAa,EAAE,YAAY,kBAAkB,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAC9J,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBACtC,UAAU,CAAC,qBAAqB,GAAG,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC;QAErC,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC;YAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAErE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,MAAM,OAAO,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,oBAAoB,KAAK,EAAE,CAAC;gBACjG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,OAAO,yBAAyB,kBAAkB,CAAC,cAAc,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC5I,CAAC;iBAAM,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,iCAAiC,KAAK,qBAAqB,IAAI,YAAY,kBAAkB,CAAC,cAAc,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvK,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;gBACjC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC;AAED,qEAAqE;AACrE,gCAAgC;AAChC,qEAAqE;AAErE;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,CAAoB;IAI9D,OAAO;QACL,aAAa,EAAE,CAAC,CAAC,qBAAqB,GAAG,EAAE;QAC3C,eAAe,EAAE,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC;KACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,qEAAqE;AACrE,WAAW;AACX,qEAAqE;AAErE,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,qBAAqB,EAAE,EAAE;IACzB,qBAAqB,EAAE,EAAE;IACzB,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;CACrB,CAAC;AAEF,qEAAqE;AACrE,gCAAgC;AAChC,qEAAqE;AAErE;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,CAAoB;IAI9D,OAAO;QACL,aAAa,EAAE,CAAC,CAAC,qBAAqB,GAAG,EAAE;QAC3C,eAAe,EAAE,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC;KACzE,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AA6BxE,OAAO,KAAK,EACV,eAAe,EAGf,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA4EtD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,CAAC,EAAE,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,GAAG,CAAC,EAClB,OAAO,EACP,eAAe,EACf,KAAK,EACL,kBAAkB,GACnB,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CAgjC/B"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAiCxE,OAAO,KAAK,EACV,eAAe,EAGf,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgFtD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,CAAC,EAAE,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,GAAG,CAAC,EAClB,OAAO,EACP,eAAe,EACf,KAAK,EACL,kBAAkB,GACnB,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CAyqC/B"}
package/dist/tui/app.js CHANGED
@@ -30,6 +30,7 @@ import { LogoPanel } from "./components/logo-panel.js";
30
30
  import { StatusBar } from "./components/status-bar.js";
31
31
  import { ConversationPanel } from "./components/conversation-panel.js";
32
32
  import { AskPanel } from "./components/ask-panel.js";
33
+ import { CommandPromptPanel, } from "./components/command-prompt-panel.js";
33
34
  import { PlanPanel } from "./components/plan-panel.js";
34
35
  import { InputPanel } from "./components/input-panel.js";
35
36
  import { InputProtocolParser } from "./input/protocol.js";
@@ -119,6 +120,7 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
119
120
  const [reviewMode, setReviewMode] = useState(false);
120
121
  // Plan panel state
121
122
  const [planCheckpoints, setPlanCheckpoints] = useState(null);
123
+ const [commandPrompt, setCommandPrompt] = useState(null);
122
124
  const cancelledRef = useRef(false);
123
125
  const lastCtrlCRef = useRef(0);
124
126
  const abortControllerRef = useRef(null);
@@ -130,6 +132,7 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
130
132
  const runTurnRef = useRef(null);
131
133
  const runManualSummarizeRef = useRef(null);
132
134
  const runManualCompactRef = useRef(null);
135
+ const commandPromptResolveRef = useRef(null);
133
136
  // Raw mode
134
137
  useEffect(() => {
135
138
  if (!isRawModeSupported)
@@ -215,6 +218,44 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
215
218
  }
216
219
  showInputHint(markdownMode === "raw" ? "Markdown raw: ON" : "Markdown raw: OFF");
217
220
  }, [markdownMode, showInputHint]);
221
+ const resolveCommandPrompt = useCallback((value) => {
222
+ const resolve = commandPromptResolveRef.current;
223
+ commandPromptResolveRef.current = null;
224
+ setCommandPrompt(null);
225
+ resolve?.(value);
226
+ }, []);
227
+ const promptSelect = useCallback((request) => {
228
+ return new Promise((resolve) => {
229
+ commandPromptResolveRef.current = resolve;
230
+ setCommandPrompt({
231
+ kind: "select",
232
+ message: request.message,
233
+ options: request.options,
234
+ selected: 0,
235
+ });
236
+ });
237
+ }, []);
238
+ const promptSecret = useCallback((request) => {
239
+ return new Promise((resolve) => {
240
+ commandPromptResolveRef.current = resolve;
241
+ setCommandPrompt({
242
+ kind: "secret",
243
+ message: request.message,
244
+ value: "",
245
+ cursor: 0,
246
+ allowEmpty: request.allowEmpty,
247
+ error: null,
248
+ });
249
+ });
250
+ }, []);
251
+ useEffect(() => {
252
+ return () => {
253
+ if (commandPromptResolveRef.current) {
254
+ commandPromptResolveRef.current(undefined);
255
+ commandPromptResolveRef.current = null;
256
+ }
257
+ };
258
+ }, []);
218
259
  useEffect(() => {
219
260
  setAskSelectionIndex(0);
220
261
  setCurrentQuestionIndex(0);
@@ -351,8 +392,10 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
351
392
  onManualCompactRequested: (instruction) => {
352
393
  runManualCompactRef.current?.(instruction);
353
394
  },
395
+ promptSelect,
396
+ promptSecret,
354
397
  };
355
- }, [session, store, commandRegistry, autoSave, performExit, showInputHint]);
398
+ }, [session, store, commandRegistry, autoSave, performExit, showInputHint, promptSelect, promptSecret]);
356
399
  // ------------------------------------------------------------------
357
400
  // Progress callback (streaming)
358
401
  // ------------------------------------------------------------------
@@ -693,6 +736,7 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
693
736
  // ------------------------------------------------------------------
694
737
  const handleSubmit = useCallback((input) => {
695
738
  clearInputHint();
739
+ // If a command is waiting for user input (e.g. API key paste), resolve it.
696
740
  if (pendingAsk) {
697
741
  if (pendingAsk.kind === "agent_question") {
698
742
  showInputHint("Use ↑/↓ to select options, ←/→ to navigate questions, Enter to confirm.", 2500);
@@ -757,6 +801,11 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
757
801
  // Ctrl+C / Ctrl+L / Ctrl+Y handling
758
802
  // ------------------------------------------------------------------
759
803
  const handleCtrlC = useCallback(() => {
804
+ if (commandPrompt) {
805
+ resolveCommandPrompt(undefined);
806
+ clearInputHint();
807
+ return;
808
+ }
760
809
  if (inputPanelRef.current?.dismissOverlay()) {
761
810
  clearInputHint();
762
811
  return;
@@ -802,6 +851,8 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
802
851
  showInputHint("Press Ctrl+C again to exit");
803
852
  }
804
853
  }, [
854
+ commandPrompt,
855
+ resolveCommandPrompt,
805
856
  processing,
806
857
  clearInputHint,
807
858
  showInputHint,
@@ -840,6 +891,67 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
840
891
  const chunk = typeof data === "string" ? data : shortcutDecoderRef.current.write(data);
841
892
  const events = shortcutParserRef.current.push(chunk);
842
893
  for (const event of events) {
894
+ if (commandPrompt) {
895
+ if (event.type !== "key" && event.type !== "insert")
896
+ continue;
897
+ if (commandPrompt.kind === "select") {
898
+ if (event.type !== "key")
899
+ continue;
900
+ if (event.key === "up" && commandPrompt.options.length > 0) {
901
+ setCommandPrompt((prev) => {
902
+ if (!prev || prev.kind !== "select" || prev.options.length === 0)
903
+ return prev;
904
+ return {
905
+ ...prev,
906
+ selected: (prev.selected - 1 + prev.options.length) % prev.options.length,
907
+ };
908
+ });
909
+ continue;
910
+ }
911
+ if (event.key === "down" && commandPrompt.options.length > 0) {
912
+ setCommandPrompt((prev) => {
913
+ if (!prev || prev.kind !== "select" || prev.options.length === 0)
914
+ return prev;
915
+ return {
916
+ ...prev,
917
+ selected: (prev.selected + 1) % prev.options.length,
918
+ };
919
+ });
920
+ continue;
921
+ }
922
+ if (event.key === "enter") {
923
+ const selected = commandPrompt.options[commandPrompt.selected];
924
+ resolveCommandPrompt(selected?.value);
925
+ continue;
926
+ }
927
+ if (event.key === "escape" || event.key === "ctrl_c") {
928
+ resolveCommandPrompt(undefined);
929
+ continue;
930
+ }
931
+ continue;
932
+ }
933
+ if (event.type === "key" && event.key === "enter") {
934
+ if (!commandPrompt.allowEmpty && commandPrompt.value.trim() === "") {
935
+ setCommandPrompt((prev) => prev && prev.kind === "secret"
936
+ ? { ...prev, error: "API key cannot be empty." }
937
+ : prev);
938
+ continue;
939
+ }
940
+ resolveCommandPrompt(commandPrompt.value);
941
+ continue;
942
+ }
943
+ if (event.type === "key" && (event.key === "escape" || event.key === "ctrl_c")) {
944
+ resolveCommandPrompt(undefined);
945
+ continue;
946
+ }
947
+ const result = applyInlineEdit(commandPrompt.value, commandPrompt.cursor, event);
948
+ if (result) {
949
+ setCommandPrompt((prev) => prev && prev.kind === "secret"
950
+ ? { ...prev, value: result.value, cursor: result.cursor, error: null }
951
+ : prev);
952
+ }
953
+ continue;
954
+ }
843
955
  // --- Review mode for multi-question ask ---
844
956
  if (pendingAsk?.kind === "agent_question" && reviewMode) {
845
957
  if (event.type !== "key")
@@ -1015,6 +1127,8 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
1015
1127
  };
1016
1128
  }, [
1017
1129
  stdin,
1130
+ commandPrompt,
1131
+ resolveCommandPrompt,
1018
1132
  pendingAsk,
1019
1133
  resolveSelectedPendingAsk,
1020
1134
  resolveAgentQuestion,
@@ -1037,6 +1151,6 @@ export function App({ session, commandRegistry, store, onProgressCallback, }) {
1037
1151
  // ------------------------------------------------------------------
1038
1152
  return (_jsxs(Box, { flexDirection: "column", height: "100%", children: [_jsx(Box, { flexShrink: 0, children: _jsx(Text, { children: " " }) }), _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [_jsx(Text, { children: " " }), _jsx(LogoPanel, { cwd: process.cwd() })] }), _jsx(ConversationPanel, { entries: entries, markdownMode: markdownMode, streamingAssistantEntryId: null }), planCheckpoints ? _jsx(PlanPanel, { checkpoints: planCheckpoints }) : null, pendingAsk ? (_jsx(AskPanel, { ask: pendingAsk, error: askError, selectedIndex: askSelectionIndex, currentQuestionIndex: currentQuestionIndex, totalQuestions: pendingAsk.kind === "agent_question"
1039
1153
  ? (pendingAsk.payload["questions"] ?? []).length
1040
- : 1, questionAnswers: questionAnswers, customInputMode: customInputMode, noteInputMode: noteInputMode, reviewMode: reviewMode, inlineEditorValue: inlineEditor.value, inlineEditorCursor: inlineEditor.cursor, optionNotes: optionNotes })) : null, _jsx(InputPanel, { ref: inputPanelRef, onSubmit: handleSubmit, disabled: !!pendingAsk, commandRegistry: commandRegistry, store: store, hint: inputHint, onHintRequested: showInputHint, session: session }), _jsx(StatusBar, { phase: activityPhase, toolName: activityToolName, error: statusError, modelName: formatDisplayModelName(session.primaryAgent.modelConfig?.provider, session.primaryAgent.modelConfig?.model), contextTokens: contextTokens, contextLimit: session.primaryAgent.modelConfig?.contextLength, cacheReadTokens: cacheReadTokens })] }));
1154
+ : 1, questionAnswers: questionAnswers, customInputMode: customInputMode, noteInputMode: noteInputMode, reviewMode: reviewMode, inlineEditorValue: inlineEditor.value, inlineEditorCursor: inlineEditor.cursor, optionNotes: optionNotes })) : null, commandPrompt ? _jsx(CommandPromptPanel, { prompt: commandPrompt }) : null, _jsx(InputPanel, { ref: inputPanelRef, onSubmit: handleSubmit, disabled: !!pendingAsk || !!commandPrompt, commandRegistry: commandRegistry, store: store, hint: inputHint, onHintRequested: showInputHint, session: session }), _jsx(StatusBar, { phase: activityPhase, toolName: activityToolName, error: statusError, modelName: formatDisplayModelName(session.primaryAgent.modelConfig?.provider, session.primaryAgent.modelConfig?.model), contextTokens: contextTokens, contextLimit: session.primaryAgent.modelConfig?.contextLength, cacheReadTokens: cacheReadTokens })] }));
1041
1155
  }
1042
1156
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import type { PromptChoice } from "../../provider-credential-flow.js";
3
+ export interface CommandPromptSelectState {
4
+ kind: "select";
5
+ message: string;
6
+ options: PromptChoice[];
7
+ selected: number;
8
+ }
9
+ export interface CommandPromptSecretState {
10
+ kind: "secret";
11
+ message: string;
12
+ value: string;
13
+ cursor: number;
14
+ allowEmpty?: boolean;
15
+ error?: string | null;
16
+ }
17
+ export type CommandPromptState = CommandPromptSelectState | CommandPromptSecretState;
18
+ export interface CommandPromptPanelProps {
19
+ prompt: CommandPromptState;
20
+ }
21
+ export declare function CommandPromptPanel({ prompt, }: CommandPromptPanelProps): React.ReactElement;
22
+ //# sourceMappingURL=command-prompt-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-prompt-panel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/command-prompt-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAoBtE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GAC1B,wBAAwB,GACxB,wBAAwB,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,GACP,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAiC9C"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ const ANSI_INVERSE_ON = "\u001B[7m";
4
+ const ANSI_INVERSE_OFF = "\u001B[27m";
5
+ function renderWithCursor(value, cursor) {
6
+ if (value.length === 0)
7
+ return `${ANSI_INVERSE_ON} ${ANSI_INVERSE_OFF}`;
8
+ const c = Math.max(0, Math.min(cursor, value.length));
9
+ let out = "";
10
+ for (let i = 0; i < value.length; i += 1) {
11
+ out += i === c ? `${ANSI_INVERSE_ON}${value[i]}${ANSI_INVERSE_OFF}` : value[i];
12
+ }
13
+ if (c === value.length)
14
+ out += `${ANSI_INVERSE_ON} ${ANSI_INVERSE_OFF}`;
15
+ return out;
16
+ }
17
+ function maskValue(value) {
18
+ return "*".repeat(value.length);
19
+ }
20
+ export function CommandPromptPanel({ prompt, }) {
21
+ if (prompt.kind === "secret") {
22
+ return (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, flexDirection: "column", children: [_jsx(Text, { color: "yellow", children: "Command Prompt" }), _jsx(Text, { children: prompt.message }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { children: renderWithCursor(maskValue(prompt.value), prompt.cursor) }) }), _jsx(Text, { dimColor: true, children: "Enter to save. Esc or Ctrl+C to cancel." }), prompt.error ? _jsx(Text, { color: "red", children: prompt.error }) : null] }));
23
+ }
24
+ return (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, flexDirection: "column", children: [_jsx(Text, { color: "yellow", children: "Command Prompt" }), _jsx(Text, { children: prompt.message }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: prompt.options.map((option, index) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: index === prompt.selected ? "yellow" : undefined, bold: index === prompt.selected, children: [index === prompt.selected ? " > " : " ", option.label] }), option.description ? _jsxs(Text, { dimColor: true, children: [" ", option.description] }) : null] }, `${option.value}-${index}`))) }), _jsx(Text, { dimColor: true, children: "Use \u2191/\u2193 to select, Enter to confirm, Esc or Ctrl+C to cancel." })] }));
25
+ }
26
+ //# sourceMappingURL=command-prompt-panel.js.map