@glbgpt/cli 0.1.3 → 0.2.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 (112) hide show
  1. package/README.md +74 -39
  2. package/dist/src/coding/backgroundTasks.d.ts +34 -0
  3. package/dist/src/coding/backgroundTasks.js +154 -0
  4. package/dist/src/coding/backgroundTasks.js.map +1 -0
  5. package/dist/src/coding/backgroundTools.d.ts +9 -0
  6. package/dist/src/coding/backgroundTools.js +63 -0
  7. package/dist/src/coding/backgroundTools.js.map +1 -0
  8. package/dist/src/coding/bashTool.d.ts +27 -0
  9. package/dist/src/coding/bashTool.js +144 -0
  10. package/dist/src/coding/bashTool.js.map +1 -0
  11. package/dist/src/coding/dangerousCommands.d.ts +29 -0
  12. package/dist/src/coding/dangerousCommands.js +156 -0
  13. package/dist/src/coding/dangerousCommands.js.map +1 -0
  14. package/dist/src/coding/editDiff.d.ts +45 -0
  15. package/dist/src/coding/editDiff.js +156 -0
  16. package/dist/src/coding/editDiff.js.map +1 -0
  17. package/dist/src/coding/editTool.d.ts +14 -0
  18. package/dist/src/coding/editTool.js +154 -0
  19. package/dist/src/coding/editTool.js.map +1 -0
  20. package/dist/src/coding/index.d.ts +25 -0
  21. package/dist/src/coding/index.js +30 -0
  22. package/dist/src/coding/index.js.map +1 -0
  23. package/dist/src/coding/outputAccumulator.d.ts +34 -0
  24. package/dist/src/coding/outputAccumulator.js +111 -0
  25. package/dist/src/coding/outputAccumulator.js.map +1 -0
  26. package/dist/src/coding/permissionGate.d.ts +65 -0
  27. package/dist/src/coding/permissionGate.js +138 -0
  28. package/dist/src/coding/permissionGate.js.map +1 -0
  29. package/dist/src/coding/permissionStore.d.ts +36 -0
  30. package/dist/src/coding/permissionStore.js +56 -0
  31. package/dist/src/coding/permissionStore.js.map +1 -0
  32. package/dist/src/coding/permissions.d.ts +34 -0
  33. package/dist/src/coding/permissions.js +18 -0
  34. package/dist/src/coding/permissions.js.map +1 -0
  35. package/dist/src/coding/projectContext.d.ts +21 -0
  36. package/dist/src/coding/projectContext.js +118 -0
  37. package/dist/src/coding/projectContext.js.map +1 -0
  38. package/dist/src/coding/readState.d.ts +22 -0
  39. package/dist/src/coding/readState.js +30 -0
  40. package/dist/src/coding/readState.js.map +1 -0
  41. package/dist/src/coding/truncate.d.ts +39 -0
  42. package/dist/src/coding/truncate.js +83 -0
  43. package/dist/src/coding/truncate.js.map +1 -0
  44. package/dist/src/coding/writeTool.d.ts +14 -0
  45. package/dist/src/coding/writeTool.js +82 -0
  46. package/dist/src/coding/writeTool.js.map +1 -0
  47. package/dist/src/commands/execCommand.d.ts +8 -0
  48. package/dist/src/commands/execCommand.js +47 -7
  49. package/dist/src/commands/execCommand.js.map +1 -1
  50. package/dist/src/core/catalog.js +11 -0
  51. package/dist/src/core/catalog.js.map +1 -1
  52. package/dist/src/core/compaction.d.ts +52 -0
  53. package/dist/src/core/compaction.js +151 -0
  54. package/dist/src/core/compaction.js.map +1 -0
  55. package/dist/src/core/contextPrune.js +8 -1
  56. package/dist/src/core/contextPrune.js.map +1 -1
  57. package/dist/src/core/httpChatBackend.js +21 -2
  58. package/dist/src/core/httpChatBackend.js.map +1 -1
  59. package/dist/src/core/runChat.d.ts +12 -2
  60. package/dist/src/core/runChat.js +72 -32
  61. package/dist/src/core/runChat.js.map +1 -1
  62. package/dist/src/core/session.d.ts +10 -1
  63. package/dist/src/core/session.js +11 -2
  64. package/dist/src/core/session.js.map +1 -1
  65. package/dist/src/core/structuredOutput.d.ts +63 -0
  66. package/dist/src/core/structuredOutput.js +328 -0
  67. package/dist/src/core/structuredOutput.js.map +1 -0
  68. package/dist/src/core/turnLoop.d.ts +18 -2
  69. package/dist/src/core/turnLoop.js +79 -12
  70. package/dist/src/core/turnLoop.js.map +1 -1
  71. package/dist/src/exec/input.d.ts +5 -3
  72. package/dist/src/exec/input.js +7 -3
  73. package/dist/src/exec/input.js.map +1 -1
  74. package/dist/src/exec/output.d.ts +3 -2
  75. package/dist/src/exec/output.js +17 -4
  76. package/dist/src/exec/output.js.map +1 -1
  77. package/dist/src/fs/index.d.ts +4 -1
  78. package/dist/src/fs/index.js +7 -2
  79. package/dist/src/fs/index.js.map +1 -1
  80. package/dist/src/fs/limits.d.ts +1 -1
  81. package/dist/src/fs/limits.js +3 -1
  82. package/dist/src/fs/limits.js.map +1 -1
  83. package/dist/src/fs/readFileTool.d.ts +2 -1
  84. package/dist/src/fs/readFileTool.js +4 -1
  85. package/dist/src/fs/readFileTool.js.map +1 -1
  86. package/dist/src/fs/workspaceGuard.d.ts +8 -0
  87. package/dist/src/fs/workspaceGuard.js +48 -0
  88. package/dist/src/fs/workspaceGuard.js.map +1 -1
  89. package/dist/src/index.js +37 -3
  90. package/dist/src/index.js.map +1 -1
  91. package/dist/src/mcp/server.js +4 -4
  92. package/dist/src/mcp/server.js.map +1 -1
  93. package/dist/src/tui/App.d.ts +10 -1
  94. package/dist/src/tui/App.js +114 -15
  95. package/dist/src/tui/App.js.map +1 -1
  96. package/dist/src/tui/approvalBridge.d.ts +21 -0
  97. package/dist/src/tui/approvalBridge.js +45 -0
  98. package/dist/src/tui/approvalBridge.js.map +1 -0
  99. package/dist/src/tui/chatController.d.ts +21 -0
  100. package/dist/src/tui/chatController.js +155 -16
  101. package/dist/src/tui/chatController.js.map +1 -1
  102. package/dist/src/tui/commands.js +16 -2
  103. package/dist/src/tui/commands.js.map +1 -1
  104. package/dist/src/tui/models.d.ts +9 -0
  105. package/dist/src/tui/models.js +14 -2
  106. package/dist/src/tui/models.js.map +1 -1
  107. package/dist/src/tui/run.d.ts +7 -0
  108. package/dist/src/tui/run.js +69 -9
  109. package/dist/src/tui/run.js.map +1 -1
  110. package/dist/src/web/webFetchTool.js +41 -5
  111. package/dist/src/web/webFetchTool.js.map +1 -1
  112. package/package.json +4 -4
@@ -4,7 +4,7 @@ import { App } from './App.js';
4
4
  import { sessionsDir } from '../config/paths.js';
5
5
  import { ChatController } from './chatController.js';
6
6
  import { AuthClient, describeCredits } from '../auth/authClient.js';
7
- import { getDefaultChatModel } from './models.js';
7
+ import { getChatModels, getDefaultChatModel } from './models.js';
8
8
  import { Session } from '../core/session.js';
9
9
  import { newId } from '../core/id.js';
10
10
  import { SessionStore } from '../core/sessionStore.js';
@@ -29,6 +29,9 @@ import { apiBaseUrl, webBaseUrl, lang, apiBaseUrlOverride, baseUrlOverrideWarnin
29
29
  import { ensureCatalog } from '../core/catalog.js';
30
30
  import { createFsTools, workspaceRoot } from '../fs/index.js';
31
31
  import { createWebTools } from '../web/index.js';
32
+ import { BackgroundBashTasks, CodingPermissionGate, ReadFileState, createCodingTools, buildCodingSystemMessage, loadProjectContext, } from '../coding/index.js';
33
+ import { PermissionStore } from '../coding/permissionStore.js';
34
+ import { ApprovalBridge, TuiApprover } from './approvalBridge.js';
32
35
  import { initTelemetryForCli, track } from '../telemetry/telemetry.js';
33
36
  import path from 'node:path';
34
37
  /**
@@ -56,7 +59,8 @@ export async function runTui(options = {}) {
56
59
  const token = await resolveToken();
57
60
  // Server-driven model catalog: cached copy applies now, refresh continues in the background.
58
61
  await ensureCatalog({ baseUrl: apiBaseUrl(), token });
59
- const session = options.session ?? new Session({ id: newId(), model: getDefaultChatModel() });
62
+ const requestedModel = options.model && getChatModels().some((m) => m.id === options.model) ? options.model : undefined;
63
+ const session = options.session ?? new Session({ id: newId(), model: requestedModel ?? getDefaultChatModel() });
60
64
  // The token can be hot-swapped mid-session by `/login`; every API consumer reads this holder
61
65
  // (chat backend, media client, account closures) so a re-auth takes effect without restart.
62
66
  let currentToken = token;
@@ -70,7 +74,30 @@ export async function runTui(options = {}) {
70
74
  // fs read tools: available to every session (no token needed — they run locally),
71
75
  // but only OFFERED to models the catalog marks tool_use (gated registration).
72
76
  const wsRoot = await workspaceRoot();
73
- for (const t of createFsTools(wsRoot))
77
+ // Coding tools (bash/write/edit): approval flows through the TUI bridge; the read
78
+ // tools share the ReadFileState that enforces read-before-mutate.
79
+ const readState = new ReadFileState();
80
+ const approvalBridge = new ApprovalBridge();
81
+ // Per-workspace persisted rules ("Always allow for this project"). TUI only —
82
+ // exec stays fail-closed on explicit flags.
83
+ const permissionStore = new PermissionStore();
84
+ const persistedRules = await permissionStore.load(wsRoot);
85
+ const permissionGate = new CodingPermissionGate({
86
+ root: wsRoot,
87
+ approver: new TuiApprover(approvalBridge),
88
+ mode: options.permissionMode ?? 'default',
89
+ persisted: persistedRules,
90
+ onPersist: (rule) => void permissionStore.add(wsRoot, rule),
91
+ });
92
+ const backgroundTasks = new BackgroundBashTasks();
93
+ for (const t of createFsTools(wsRoot, { readState }))
94
+ registry.register(t, { gated: true });
95
+ for (const t of createCodingTools({
96
+ root: wsRoot,
97
+ gate: permissionGate,
98
+ readState,
99
+ background: backgroundTasks,
100
+ }))
74
101
  registry.register(t, { gated: true });
75
102
  // web tools, same gating: web_search proxies the backend (reads the hot-swappable
76
103
  // token at call time), web_fetch runs locally.
@@ -87,8 +114,22 @@ export async function runTui(options = {}) {
87
114
  const resolveReference = (ref) => controllerRef?.resolveMediaReference(ref);
88
115
  const pendingReferences = () => controllerRef?.getPendingReferenceImages() ?? [];
89
116
  const knownMediaRefs = () => controllerRef?.getKnownMediaRefs() ?? [];
90
- const imageTool = createGenerateImageTool({ executor, taskManager, ledger, resolveReference, pendingReferences, knownMediaRefs });
91
- const videoTool = createGenerateVideoTool({ executor, taskManager, ledger, resolveReference, pendingReferences, knownMediaRefs });
117
+ const imageTool = createGenerateImageTool({
118
+ executor,
119
+ taskManager,
120
+ ledger,
121
+ resolveReference,
122
+ pendingReferences,
123
+ knownMediaRefs,
124
+ });
125
+ const videoTool = createGenerateVideoTool({
126
+ executor,
127
+ taskManager,
128
+ ledger,
129
+ resolveReference,
130
+ pendingReferences,
131
+ knownMediaRefs,
132
+ });
92
133
  registry.register(imageTool);
93
134
  registry.register(videoTool);
94
135
  // Slash commands run the same tool instances the model uses (same confirm/ledger/polling path).
@@ -96,7 +137,10 @@ export async function runTui(options = {}) {
96
137
  extras.listRecentTasks = () => ledger.list(10);
97
138
  extras.fetchAccountLine = async () => {
98
139
  const info = await new AuthClient({ baseUrl: apiBaseUrl() }).userInfo(currentToken);
99
- const bits = [info.plan && `plan: ${info.plan}`, describeCredits(info) && `balance: ${describeCredits(info)}`];
140
+ const bits = [
141
+ info.plan && `plan: ${info.plan}`,
142
+ describeCredits(info) && `balance: ${describeCredits(info)}`,
143
+ ];
100
144
  return bits.filter(Boolean).join(' · ') || null;
101
145
  };
102
146
  extras.fetchAccount = async () => {
@@ -117,7 +161,11 @@ export async function runTui(options = {}) {
117
161
  extras.fetchTransactions = async () => {
118
162
  const bills = await new AuthClient({ baseUrl: apiBaseUrl() }).bills(currentToken, 1, 10);
119
163
  // cost is USD; show credits (1 credit ≈ $0.001) to match the generation estimates.
120
- return bills.map((b) => ({ createdAt: b.createdAt ?? '', credits: Math.round(b.cost * 1000), model: b.model }));
164
+ return bills.map((b) => ({
165
+ createdAt: b.createdAt ?? '',
166
+ credits: Math.round(b.cost * 1000),
167
+ model: b.model,
168
+ }));
121
169
  };
122
170
  }
123
171
  else {
@@ -163,6 +211,13 @@ export async function runTui(options = {}) {
163
211
  ? 'Signed out — stored credentials removed. This session stays active until you exit.'
164
212
  : 'You are not signed in.';
165
213
  };
214
+ // Client-side coding guidance + project context (AGENTS.md/CLAUDE.md), one system
215
+ // message after the server's base prompt. New sessions only — a resumed session
216
+ // already carries whatever context it started with.
217
+ if (!options.session) {
218
+ const contextFiles = options.noProjectContext ? [] : await loadProjectContext(wsRoot);
219
+ session.addSystemMessage(buildCodingSystemMessage({ workspaceRoot: wsRoot, contextFiles }));
220
+ }
166
221
  const turnLoop = new TurnLoop(backend, registry);
167
222
  const controller = new ChatController(session, turnLoop, extras);
168
223
  controllerRef = controller;
@@ -224,13 +279,14 @@ export async function runTui(options = {}) {
224
279
  };
225
280
  // First run = no stored conversations yet → show the one-time command navigation.
226
281
  const firstRun = !options.session && (await store.list(1)).length === 0;
227
- const app = render(_jsx(App, { controller: controller, confirmationBridge: confirmationBridge, sessionPicker: sessionPicker, firstRun: firstRun, fetchAccountLine: extras.fetchAccountLine, inputHistory: createInputHistory() }),
282
+ const app = render(_jsx(App, { controller: controller, confirmationBridge: confirmationBridge, approvalBridge: approvalBridge, permissions: { get: () => permissionGate.getMode(), set: (m) => permissionGate.setMode(m) }, sessionPicker: sessionPicker, firstRun: firstRun, fetchAccountLine: extras.fetchAccountLine, inputHistory: createInputHistory() }),
228
283
  // Ctrl+C is handled in-app (clear/interrupt, then confirm-to-exit) — never an instant kill.
229
284
  { exitOnCtrlC: false });
230
285
  if (options.initialPrompt && options.initialPrompt.trim()) {
231
286
  void controller.submit(options.initialPrompt.trim());
232
287
  }
233
288
  await app.waitUntilExit();
289
+ backgroundTasks.killAll(); // background bash tasks die with the CLI
234
290
  // Exit summary (Codex/Claude Code convention). Chat tokens are informational;
235
291
  // the authoritative bill is `glbgpt account transactions`.
236
292
  const u = controller.getState().sessionUsage;
@@ -238,7 +294,11 @@ export async function runTui(options = {}) {
238
294
  const bits = [
239
295
  `${u.turns} turn${u.turns === 1 ? '' : 's'}`,
240
296
  `${(u.promptTokens + u.completionTokens).toLocaleString()} tokens`,
241
- ...(u.mediaSubmits > 0 ? [`${u.mediaSubmits} media task${u.mediaSubmits === 1 ? '' : 's'} (~${u.mediaCreditsEstimated} credits est.)`] : []),
297
+ ...(u.mediaSubmits > 0
298
+ ? [
299
+ `${u.mediaSubmits} media task${u.mediaSubmits === 1 ? '' : 's'} (~${u.mediaCreditsEstimated} credits est.)`,
300
+ ]
301
+ : []),
242
302
  `${mins}m`,
243
303
  ];
244
304
  console.error(`Session: ${bits.join(' · ')} — authoritative spend: glbgpt account transactions`);
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/tui/run.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/tui/run.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  import { lookup as dnsLookup } from 'node:dns/promises';
2
+ import { writeFileSync } from 'node:fs';
3
+ import { randomBytes } from 'node:crypto';
4
+ import os from 'node:os';
5
+ import path from 'node:path';
2
6
  import { isIP } from 'node:net';
3
7
  /**
4
8
  * `web_fetch` — fetches a public web page and returns its readable text. Runs fully
@@ -99,16 +103,42 @@ export function createWebFetchTool(deps = {}) {
99
103
  return { error: `Fetch failed for ${current.hostname} (HTTP ${res.status}).` };
100
104
  }
101
105
  const contentType = (res.headers.get('content-type') ?? '').toLowerCase();
102
- if (!contentType.startsWith('text/') && !contentType.includes('json') && !contentType.includes('xml')) {
103
- return { error: `Unsupported content type for reading: ${contentType || '(unknown)'} (binary content is not fetched).` };
106
+ if (!contentType.startsWith('text/') &&
107
+ !contentType.includes('json') &&
108
+ !contentType.includes('xml')) {
109
+ return {
110
+ error: `Unsupported content type for reading: ${contentType || '(unknown)'} (binary content is not fetched).`,
111
+ };
104
112
  }
105
113
  const raw = await readBounded(res, MAX_DOWNLOAD_BYTES);
106
114
  const text = contentType.includes('html') ? htmlToText(raw) : raw;
107
115
  const truncated = text.length > MAX_OUTPUT_CHARS;
116
+ // Truncated pages spill the FULL text to a temp file (pi A5): the model can grep/tail
117
+ // it with bash instead of re-fetching for the missing half. Best-effort — a failed
118
+ // spill just omits the pointer.
119
+ let fullContentPath = null;
120
+ if (truncated) {
121
+ try {
122
+ fullContentPath = path.join(os.tmpdir(), `glbgpt-fetch-${randomBytes(6).toString('hex')}.txt`);
123
+ writeFileSync(fullContentPath, text, 'utf8');
124
+ }
125
+ catch {
126
+ fullContentPath = null;
127
+ }
128
+ }
108
129
  const result = {
109
130
  url: current.href,
110
131
  content: truncated ? text.slice(0, MAX_OUTPUT_CHARS) : text,
111
- ...(truncated ? { truncated: true } : {}),
132
+ ...(truncated
133
+ ? {
134
+ truncated: true,
135
+ ...(fullContentPath
136
+ ? {
137
+ full_content_note: `Truncated to ${MAX_OUTPUT_CHARS} chars. Full text saved to ${fullContentPath} (readable with bash, e.g. grep or sed).`,
138
+ }
139
+ : {}),
140
+ }
141
+ : {}),
112
142
  notice: CONTENT_NOTICE,
113
143
  };
114
144
  cache.set(url.href, { expires: now() + CACHE_TTL_MS, result });
@@ -122,7 +152,10 @@ export function createWebFetchTool(deps = {}) {
122
152
  async function privateAddressReason(hostname, lookupImpl) {
123
153
  const name = hostname.toLowerCase();
124
154
  const refusal = `Refusing to fetch ${hostname}: private/internal addresses are not fetchable.`;
125
- if (name === 'localhost' || name.endsWith('.localhost') || name.endsWith('.local') || name.endsWith('.internal')) {
155
+ if (name === 'localhost' ||
156
+ name.endsWith('.localhost') ||
157
+ name.endsWith('.local') ||
158
+ name.endsWith('.internal')) {
126
159
  return refusal;
127
160
  }
128
161
  // Literal IP in the URL — no DNS involved.
@@ -197,7 +230,10 @@ export function htmlToText(html) {
197
230
  s = s.replace(/<li[^>]*>/gi, '\n- ');
198
231
  s = s.replace(/<(br|hr)\s*\/?>/gi, '\n');
199
232
  s = s.replace(/<a\b[^>]*href=["']([^"'#][^"']*)["'][^>]*>([\s\S]*?)<\/a>/gi, (_m, href, text) => {
200
- const label = text.replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();
233
+ const label = text
234
+ .replace(/<[^>]+>/g, '')
235
+ .replace(/\s+/g, ' ')
236
+ .trim();
201
237
  return label && !href.startsWith('javascript:') ? `[${label}](${href})` : label;
202
238
  });
203
239
  s = s.replace(/<\/(p|div|section|article|tr|table|ul|ol|blockquote|pre|h[1-6])>/gi, '\n\n');
@@ -1 +1 @@
1
- {"version":3,"file":"webFetchTool.js","sourceRoot":"","sources":["../../../src/web/webFetchTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webFetchTool.js","sourceRoot":"","sources":["../../../src/web/webFetchTool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glbgpt/cli",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "GlobalGPT in your terminal — chat, image and video generation, and an exec entry point for scripts and agents.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,8 +16,7 @@
16
16
  "node": ">=18"
17
17
  },
18
18
  "publishConfig": {
19
- "access": "public",
20
- "tag": "test"
19
+ "access": "public"
21
20
  },
22
21
  "scripts": {
23
22
  "build": "tsc -p tsconfig.json && chmod +x dist/src/index.js",
@@ -25,7 +24,8 @@
25
24
  "test": "vitest run",
26
25
  "test:watch": "vitest",
27
26
  "prepublishOnly": "npm run test && rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/src/index.js",
28
- "prepack": "rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/src/index.js"
27
+ "prepack": "rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/src/index.js",
28
+ "evals": "npm run build && node evals/run.js"
29
29
  },
30
30
  "dependencies": {
31
31
  "@modelcontextprotocol/sdk": "^1.30.0",