@aigencydev/cli 0.1.0 → 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.
- package/dist/agent/loop.js +1 -0
- package/dist/agent/loop.js.map +1 -1
- package/dist/tools/bash.js +162 -22
- package/dist/tools/bash.js.map +1 -1
- package/dist/ui/App.js +53 -12
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/InputBar.js +12 -4
- package/dist/ui/InputBar.js.map +1 -1
- package/dist/ui/MessageList.js +27 -26
- package/dist/ui/MessageList.js.map +1 -1
- package/dist/ui/ModeIndicator.js +12 -13
- package/dist/ui/ModeIndicator.js.map +1 -1
- package/dist/ui/PermissionPrompt.js +33 -19
- package/dist/ui/PermissionPrompt.js.map +1 -1
- package/dist/ui/StatusBar.js +23 -13
- package/dist/ui/StatusBar.js.map +1 -1
- package/dist/ui/theme.js +142 -30
- package/dist/ui/theme.js.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/agent/loop.js
CHANGED
|
@@ -58,6 +58,7 @@ export async function runAgentLoop(params) {
|
|
|
58
58
|
mode: params.mode,
|
|
59
59
|
signal: params.signal,
|
|
60
60
|
requestPermission: wrapPermission(params.requestPermission, params.mode),
|
|
61
|
+
onLiveOutput: params.onLiveOutput,
|
|
61
62
|
};
|
|
62
63
|
// History'yi hazırla + chunk'la
|
|
63
64
|
const chunk = prepareChunk(params.prompt, params.history.getAll());
|
package/dist/agent/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/bash.js
CHANGED
|
@@ -1,22 +1,84 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* bash_execute — sandboxed shell komutu.
|
|
3
3
|
*
|
|
4
|
-
* Windows'ta cmd.exe, Unix'te sh kullanır.
|
|
5
|
-
*
|
|
4
|
+
* Windows'ta cmd.exe, Unix'te sh kullanır.
|
|
5
|
+
*
|
|
6
|
+
* Özellikler:
|
|
7
|
+
* - Varsayılan 5 dakika timeout (uzun `npm install`, `create-next-app` için)
|
|
8
|
+
* - Canlı çıktı akışı (ctx.onLiveOutput callback'i üzerinden)
|
|
9
|
+
* - Interaktif komut tespiti + otomatik non-interactive flag önerisi
|
|
10
|
+
* - 50 KB çıktı sınırı (her iki stream için)
|
|
11
|
+
* - Plan modda her şey yasak, default'ta permission prompt, auto'da classifier
|
|
6
12
|
*/
|
|
7
13
|
import { spawn } from "node:child_process";
|
|
8
14
|
import { checkCommand, autoModeDecision } from "../security/command-filter.js";
|
|
9
15
|
import { checkPath } from "../security/sandbox.js";
|
|
10
16
|
const MAX_OUTPUT_BYTES = 50_000;
|
|
11
|
-
const DEFAULT_TIMEOUT_MS =
|
|
12
|
-
|
|
17
|
+
const DEFAULT_TIMEOUT_MS = 300_000; // 5 dakika — create-next-app, npm install gibi komutlar için
|
|
18
|
+
const LIVE_OUTPUT_THROTTLE_MS = 150; // Her 150ms'de bir canlı chunk gönder
|
|
19
|
+
/**
|
|
20
|
+
* Bilinen interaktif komutlar için non-interactive ipuçları.
|
|
21
|
+
* Agent bu komutları zaten doğru flag'lerle çağırmalı ama yanlış kullanılırsa
|
|
22
|
+
* kullanıcıya net bir öneri veririz — timeout yerine anlaşılır hata.
|
|
23
|
+
*/
|
|
24
|
+
const INTERACTIVE_PATTERNS = [
|
|
25
|
+
{
|
|
26
|
+
regex: /\bcreate-next-app\b(?![^|]*(?:--ts|--javascript|--yes|-y\b))/i,
|
|
27
|
+
reason: "create-next-app interaktif modda çalıştırılıyor (sorulara cevap verilemez)",
|
|
28
|
+
suggestion: 'Non-interactive flag\'lerle çağırın, örn.:\n npx create-next-app@latest proje-adi --typescript --tailwind --eslint --app --src-dir --import-alias "@/*" --use-npm --yes',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
regex: /\bcreate-react-app\b/i,
|
|
32
|
+
reason: "create-react-app interaktif",
|
|
33
|
+
suggestion: 'npx create-react-app proje-adi --template typescript',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
regex: /\bnpm\s+init\b(?!\s+-y\b)(?!\s+--yes\b)/i,
|
|
37
|
+
reason: "npm init interaktif modda",
|
|
38
|
+
suggestion: "npm init -y",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
regex: /\byarn\s+create\b(?![^|]*--yes)/i,
|
|
42
|
+
reason: "yarn create interaktif",
|
|
43
|
+
suggestion: "yarn create <template> --yes",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
regex: /\bpnpm\s+create\b(?![^|]*--yes)/i,
|
|
47
|
+
reason: "pnpm create interaktif",
|
|
48
|
+
suggestion: "pnpm create <template> --yes",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
regex: /\bgit\s+commit\b(?!\s+-m\b)(?!\s+--message\b)(?!\s+--no-edit\b)/i,
|
|
52
|
+
reason: "git commit mesajsız → editör açılır (interaktif)",
|
|
53
|
+
suggestion: 'git commit -m "mesajınız"',
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
function detectInteractive(command) {
|
|
57
|
+
for (const pattern of INTERACTIVE_PATTERNS) {
|
|
58
|
+
if (pattern.regex.test(command)) {
|
|
59
|
+
return { ok: false, reason: pattern.reason, suggestion: pattern.suggestion };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return { ok: true };
|
|
63
|
+
}
|
|
64
|
+
function runShell(command, cwd, timeoutMs, signal, onLive) {
|
|
13
65
|
return new Promise((resolve) => {
|
|
14
66
|
const isWin = process.platform === "win32";
|
|
15
67
|
const shell = isWin ? "cmd.exe" : "/bin/sh";
|
|
16
68
|
const args = isWin ? ["/d", "/s", "/c", command] : ["-c", command];
|
|
17
69
|
const child = spawn(shell, args, {
|
|
18
70
|
cwd,
|
|
19
|
-
|
|
71
|
+
// stdin'i bağlama — interaktif komutlar bekleyişte kalırsa bari
|
|
72
|
+
// EOF görsün (bazı CLI'lar bunu non-interactive moda geçer olarak algılar)
|
|
73
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
74
|
+
env: {
|
|
75
|
+
...process.env,
|
|
76
|
+
// Non-interactive ortam değişkenleri — çoğu tool bunlara saygı duyar
|
|
77
|
+
CI: "1",
|
|
78
|
+
NO_COLOR: "0", // renkler kalsın
|
|
79
|
+
npm_config_yes: "true", // npm init / create-* için
|
|
80
|
+
DEBIAN_FRONTEND: "noninteractive",
|
|
81
|
+
},
|
|
20
82
|
windowsHide: true,
|
|
21
83
|
});
|
|
22
84
|
let stdout = "";
|
|
@@ -24,6 +86,39 @@ function runShell(command, cwd, timeoutMs, signal) {
|
|
|
24
86
|
let outBytes = 0;
|
|
25
87
|
let errBytes = 0;
|
|
26
88
|
let timedOut = false;
|
|
89
|
+
// Canlı throttle — her 150ms'de bir tampon gönder
|
|
90
|
+
let stdoutBuffer = "";
|
|
91
|
+
let stderrBuffer = "";
|
|
92
|
+
let flushTimer = null;
|
|
93
|
+
const scheduleFlush = () => {
|
|
94
|
+
if (flushTimer || !onLive)
|
|
95
|
+
return;
|
|
96
|
+
flushTimer = setTimeout(() => {
|
|
97
|
+
flushTimer = null;
|
|
98
|
+
if (stdoutBuffer) {
|
|
99
|
+
onLive("stdout", stdoutBuffer);
|
|
100
|
+
stdoutBuffer = "";
|
|
101
|
+
}
|
|
102
|
+
if (stderrBuffer) {
|
|
103
|
+
onLive("stderr", stderrBuffer);
|
|
104
|
+
stderrBuffer = "";
|
|
105
|
+
}
|
|
106
|
+
}, LIVE_OUTPUT_THROTTLE_MS);
|
|
107
|
+
};
|
|
108
|
+
const finalFlush = () => {
|
|
109
|
+
if (flushTimer) {
|
|
110
|
+
clearTimeout(flushTimer);
|
|
111
|
+
flushTimer = null;
|
|
112
|
+
}
|
|
113
|
+
if (onLive && stdoutBuffer) {
|
|
114
|
+
onLive("stdout", stdoutBuffer);
|
|
115
|
+
stdoutBuffer = "";
|
|
116
|
+
}
|
|
117
|
+
if (onLive && stderrBuffer) {
|
|
118
|
+
onLive("stderr", stderrBuffer);
|
|
119
|
+
stderrBuffer = "";
|
|
120
|
+
}
|
|
121
|
+
};
|
|
27
122
|
const timeoutHandle = setTimeout(() => {
|
|
28
123
|
timedOut = true;
|
|
29
124
|
try {
|
|
@@ -48,23 +143,34 @@ function runShell(command, cwd, timeoutMs, signal) {
|
|
|
48
143
|
signal.addEventListener("abort", onAbort, { once: true });
|
|
49
144
|
}
|
|
50
145
|
child.stdout.on("data", (chunk) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
146
|
+
const text = chunk.toString("utf8");
|
|
147
|
+
if (outBytes < MAX_OUTPUT_BYTES) {
|
|
148
|
+
const remaining = MAX_OUTPUT_BYTES - outBytes;
|
|
149
|
+
const trimmed = text.slice(0, remaining);
|
|
150
|
+
stdout += trimmed;
|
|
151
|
+
outBytes += trimmed.length;
|
|
152
|
+
}
|
|
153
|
+
if (onLive) {
|
|
154
|
+
stdoutBuffer += text;
|
|
155
|
+
scheduleFlush();
|
|
156
|
+
}
|
|
57
157
|
});
|
|
58
158
|
child.stderr.on("data", (chunk) => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
159
|
+
const text = chunk.toString("utf8");
|
|
160
|
+
if (errBytes < MAX_OUTPUT_BYTES) {
|
|
161
|
+
const remaining = MAX_OUTPUT_BYTES - errBytes;
|
|
162
|
+
const trimmed = text.slice(0, remaining);
|
|
163
|
+
stderr += trimmed;
|
|
164
|
+
errBytes += trimmed.length;
|
|
165
|
+
}
|
|
166
|
+
if (onLive) {
|
|
167
|
+
stderrBuffer += text;
|
|
168
|
+
scheduleFlush();
|
|
169
|
+
}
|
|
65
170
|
});
|
|
66
171
|
child.on("error", (err) => {
|
|
67
172
|
clearTimeout(timeoutHandle);
|
|
173
|
+
finalFlush();
|
|
68
174
|
resolve({
|
|
69
175
|
stdout,
|
|
70
176
|
stderr: `${stderr}\nSpawn hatası: ${err.message}`,
|
|
@@ -76,6 +182,7 @@ function runShell(command, cwd, timeoutMs, signal) {
|
|
|
76
182
|
clearTimeout(timeoutHandle);
|
|
77
183
|
if (signal)
|
|
78
184
|
signal.removeEventListener("abort", onAbort);
|
|
185
|
+
finalFlush();
|
|
79
186
|
resolve({
|
|
80
187
|
stdout,
|
|
81
188
|
stderr,
|
|
@@ -90,7 +197,7 @@ export const bashTool = async (params, ctx) => {
|
|
|
90
197
|
const command = (params.command || "");
|
|
91
198
|
const rawCwd = (params.working_directory || ctx.cwd);
|
|
92
199
|
const timeoutMs = Number.isInteger(params.timeout_ms)
|
|
93
|
-
? Math.min(
|
|
200
|
+
? Math.min(600_000, Math.max(5_000, Number(params.timeout_ms)))
|
|
94
201
|
: DEFAULT_TIMEOUT_MS;
|
|
95
202
|
if (!command) {
|
|
96
203
|
return {
|
|
@@ -100,7 +207,7 @@ export const bashTool = async (params, ctx) => {
|
|
|
100
207
|
duration: Date.now() - start,
|
|
101
208
|
};
|
|
102
209
|
}
|
|
103
|
-
// Command filter
|
|
210
|
+
// Command filter (güvenlik)
|
|
104
211
|
const filterResult = checkCommand(command);
|
|
105
212
|
if (filterResult.verdict === "block") {
|
|
106
213
|
return {
|
|
@@ -112,6 +219,23 @@ export const bashTool = async (params, ctx) => {
|
|
|
112
219
|
duration: Date.now() - start,
|
|
113
220
|
};
|
|
114
221
|
}
|
|
222
|
+
// Interaktif komut tespiti — timeout yerine net hata
|
|
223
|
+
const interactiveCheck = detectInteractive(command);
|
|
224
|
+
if (!interactiveCheck.ok) {
|
|
225
|
+
return {
|
|
226
|
+
success: false,
|
|
227
|
+
output: "",
|
|
228
|
+
error: `${interactiveCheck.reason}\n\n` +
|
|
229
|
+
`Öneri:\n${interactiveCheck.suggestion}\n\n` +
|
|
230
|
+
`Lütfen non-interactive flag'lerle tekrar deneyin.`,
|
|
231
|
+
metadata: {
|
|
232
|
+
blocked_by: "interactive_detector",
|
|
233
|
+
suggestion: interactiveCheck.suggestion,
|
|
234
|
+
},
|
|
235
|
+
approvalState: 0,
|
|
236
|
+
duration: Date.now() - start,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
115
239
|
// Plan modda sadece dry-run
|
|
116
240
|
if (ctx.mode === "plan") {
|
|
117
241
|
return {
|
|
@@ -173,7 +297,21 @@ export const bashTool = async (params, ctx) => {
|
|
|
173
297
|
}
|
|
174
298
|
approvalState = 1;
|
|
175
299
|
}
|
|
176
|
-
|
|
300
|
+
// Canlı çıktı callback'i — varsa chunk'ları UI'a ilet
|
|
301
|
+
const onLive = typeof ctx.onLiveOutput === "function"
|
|
302
|
+
? (kind, chunk) => {
|
|
303
|
+
ctx.onLiveOutput({ toolName: "bash_execute", kind, chunk });
|
|
304
|
+
}
|
|
305
|
+
: null;
|
|
306
|
+
// Başlangıç bildirimi
|
|
307
|
+
if (ctx.onLiveOutput) {
|
|
308
|
+
ctx.onLiveOutput({
|
|
309
|
+
toolName: "bash_execute",
|
|
310
|
+
kind: "status",
|
|
311
|
+
chunk: `$ ${command}`,
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
const result = await runShell(command, cwdCheck.realPath, timeoutMs, ctx.signal, onLive);
|
|
177
315
|
const output = [
|
|
178
316
|
result.stdout && `--- stdout ---\n${result.stdout}`,
|
|
179
317
|
result.stderr && `--- stderr ---\n${result.stderr}`,
|
|
@@ -184,8 +322,10 @@ export const bashTool = async (params, ctx) => {
|
|
|
184
322
|
return {
|
|
185
323
|
success: false,
|
|
186
324
|
output,
|
|
187
|
-
error: `Komut zaman aşımına uğradı (${timeoutMs}
|
|
188
|
-
|
|
325
|
+
error: `Komut zaman aşımına uğradı (${Math.floor(timeoutMs / 1000)}s)\n\n` +
|
|
326
|
+
`Uzun süren komutlar için timeout_ms parametresini artırabilirsiniz (maks 600000 = 10 dk).\n` +
|
|
327
|
+
`Veya komutu arka planda çalıştırın (& ile) ve durumunu ayrı bir komutla kontrol edin.`,
|
|
328
|
+
metadata: { exit_code: result.exitCode, timed_out: true, timeout_ms: timeoutMs },
|
|
189
329
|
approvalState,
|
|
190
330
|
duration: Date.now() - start,
|
|
191
331
|
};
|
package/dist/tools/bash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/App.js
CHANGED
|
@@ -19,7 +19,8 @@ import { StatusBar } from "./StatusBar.js";
|
|
|
19
19
|
import { PermissionPrompt } from "./PermissionPrompt.js";
|
|
20
20
|
import { ChatHistory } from "../agent/history.js";
|
|
21
21
|
import { runAgentLoop, clearSessionApprovalCache } from "../agent/loop.js";
|
|
22
|
-
import {
|
|
22
|
+
import { CLI_VERSION } from "../version.js";
|
|
23
|
+
import { palette, symbols } from "./theme.js";
|
|
23
24
|
const MODE_CYCLE = ["default", "plan", "accept_edits", "auto"];
|
|
24
25
|
function newId() {
|
|
25
26
|
return `msg-${Date.now()}-${Math.floor(Math.random() * 10000)}`;
|
|
@@ -33,22 +34,25 @@ export function App({ session, initialMode, initialModel, cwd, projectRoot, init
|
|
|
33
34
|
const [tokensUsed, setTokensUsed] = useState(0);
|
|
34
35
|
const [tokensLimit, setTokensLimit] = useState(initialModel === "max" ? 5_000_000 : 1_000_000);
|
|
35
36
|
const [pending, setPending] = useState(null);
|
|
37
|
+
/**
|
|
38
|
+
* Canlı tool çıktısı — bash_execute çalışırken stdout/stderr chunk'ları
|
|
39
|
+
* bu state'e birikir. Tool bitince string temizlenir.
|
|
40
|
+
* MessageList'in altında dedicated bir Box ile render edilir.
|
|
41
|
+
*/
|
|
42
|
+
const [liveOutput, setLiveOutput] = useState("");
|
|
36
43
|
const historyRef = useRef(new ChatHistory());
|
|
37
44
|
const abortRef = useRef(null);
|
|
45
|
+
const liveBufferRef = useRef("");
|
|
38
46
|
const pushMessage = useCallback((msg) => {
|
|
39
47
|
setMessages((prev) => [...prev, { ...msg, id: newId() }]);
|
|
40
48
|
}, []);
|
|
41
|
-
// Başlangıç mesajı
|
|
49
|
+
// Başlangıç mesajı — sadece hızlı ipuçları (kullanıcı header'da zaten adını görüyor)
|
|
42
50
|
useEffect(() => {
|
|
43
51
|
pushMessage({
|
|
44
52
|
kind: "info",
|
|
45
|
-
content:
|
|
53
|
+
content: "Shift+Tab ile mod değiştirin · /help yardım · Ctrl+C çıkış",
|
|
46
54
|
});
|
|
47
|
-
|
|
48
|
-
kind: "info",
|
|
49
|
-
content: "Shift+Tab ile mod değiştirin · /help yardım · Ctrl+C çıkış",
|
|
50
|
-
});
|
|
51
|
-
}, [pushMessage, session.user.name, session.user.email]);
|
|
55
|
+
}, [pushMessage]);
|
|
52
56
|
// Input handler — Shift+Tab mode cycle, Ctrl+C exit/abort
|
|
53
57
|
useInput((input, key) => {
|
|
54
58
|
if (key.shift && key.tab) {
|
|
@@ -141,7 +145,26 @@ export function App({ session, initialMode, initialModel, cwd, projectRoot, init
|
|
|
141
145
|
setBusy(true);
|
|
142
146
|
const controller = new AbortController();
|
|
143
147
|
abortRef.current = controller;
|
|
148
|
+
liveBufferRef.current = "";
|
|
149
|
+
setLiveOutput("");
|
|
144
150
|
try {
|
|
151
|
+
// Canlı tool çıktısı — bash_execute stdout/stderr chunk'larını
|
|
152
|
+
// son 30 satıra kırparak göster. Tool tamamlanınca temizlenir.
|
|
153
|
+
const handleLiveOutput = (event) => {
|
|
154
|
+
if (event.kind === "status") {
|
|
155
|
+
// Başlangıç bildirimi (komut satırı gibi)
|
|
156
|
+
liveBufferRef.current = event.chunk + "\n";
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
liveBufferRef.current += event.chunk;
|
|
160
|
+
}
|
|
161
|
+
// Son 30 satırı göster (viewport)
|
|
162
|
+
const lines = liveBufferRef.current.split("\n");
|
|
163
|
+
const visible = lines.slice(Math.max(0, lines.length - 30)).join("\n");
|
|
164
|
+
// ANSI escape'leri kaldır (Ink düz metin gösteriyor)
|
|
165
|
+
const cleaned = visible.replace(/\u001b\[[0-9;]*[a-zA-Z]/g, "");
|
|
166
|
+
setLiveOutput(cleaned);
|
|
167
|
+
};
|
|
145
168
|
const onEvent = (event) => {
|
|
146
169
|
switch (event.type) {
|
|
147
170
|
case "agent_think":
|
|
@@ -164,6 +187,9 @@ export function App({ session, initialMode, initialModel, cwd, projectRoot, init
|
|
|
164
187
|
: event.result.error || "Hata",
|
|
165
188
|
toolStatus: status,
|
|
166
189
|
});
|
|
190
|
+
// Canlı çıktı tamponunu temizle (tool bitti)
|
|
191
|
+
liveBufferRef.current = "";
|
|
192
|
+
setLiveOutput("");
|
|
167
193
|
break;
|
|
168
194
|
}
|
|
169
195
|
case "agent_message":
|
|
@@ -202,6 +228,7 @@ export function App({ session, initialMode, initialModel, cwd, projectRoot, init
|
|
|
202
228
|
workingDirectory: cwd,
|
|
203
229
|
signal: controller.signal,
|
|
204
230
|
onEvent,
|
|
231
|
+
onLiveOutput: handleLiveOutput,
|
|
205
232
|
requestPermission,
|
|
206
233
|
settings,
|
|
207
234
|
priorInsights: memorySummary,
|
|
@@ -227,6 +254,8 @@ export function App({ session, initialMode, initialModel, cwd, projectRoot, init
|
|
|
227
254
|
finally {
|
|
228
255
|
setBusy(false);
|
|
229
256
|
abortRef.current = null;
|
|
257
|
+
liveBufferRef.current = "";
|
|
258
|
+
setLiveOutput("");
|
|
230
259
|
}
|
|
231
260
|
}, [
|
|
232
261
|
cwd,
|
|
@@ -251,12 +280,24 @@ export function App({ session, initialMode, initialModel, cwd, projectRoot, init
|
|
|
251
280
|
}
|
|
252
281
|
}, [busy, handleSubmit, initialPrompt]);
|
|
253
282
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
254
|
-
React.createElement(Box, { paddingX: 1 },
|
|
255
|
-
React.createElement(Text, { color:
|
|
256
|
-
|
|
283
|
+
React.createElement(Box, { paddingX: 1, marginBottom: 1 },
|
|
284
|
+
React.createElement(Text, { color: palette.brand, bold: true },
|
|
285
|
+
symbols.sparkle,
|
|
286
|
+
" AIGENCY CLI"),
|
|
287
|
+
React.createElement(Text, { color: palette.textFaint },
|
|
257
288
|
" v",
|
|
258
|
-
CLI_VERSION)
|
|
289
|
+
CLI_VERSION),
|
|
290
|
+
React.createElement(Text, { color: palette.textFaint }, " \u00B7 "),
|
|
291
|
+
React.createElement(Text, { color: palette.textMuted }, session.user.name || session.user.email)),
|
|
259
292
|
React.createElement(MessageList, { messages: messages }),
|
|
293
|
+
liveOutput && (React.createElement(Box, { marginX: 1, marginY: 1, paddingX: 1, flexDirection: "column", borderStyle: "round", borderColor: palette.warning },
|
|
294
|
+
React.createElement(Box, { marginBottom: 0 },
|
|
295
|
+
React.createElement(Text, { color: palette.warning, bold: true },
|
|
296
|
+
symbols.lightning,
|
|
297
|
+
" canl\u0131 \u00E7\u0131kt\u0131",
|
|
298
|
+
" "),
|
|
299
|
+
React.createElement(Text, { color: palette.textDim }, "(tool \u00E7al\u0131\u015F\u0131yor, Ctrl+C ile iptal)")),
|
|
300
|
+
React.createElement(Text, { color: palette.textSecondary }, liveOutput))),
|
|
260
301
|
pending && (React.createElement(PermissionPrompt, { request: pending.request, onRespond: handlePermissionResponse })),
|
|
261
302
|
!pending && React.createElement(InputBar, { onSubmit: handleSubmit, disabled: busy }),
|
|
262
303
|
React.createElement(StatusBar, { tokensUsed: tokensUsed, tokensLimit: tokensLimit, mode: mode, model: model, cwd: cwd, busy: busy })));
|
package/dist/ui/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAClD,OAAO,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAmB9D,MAAM,UAAU,GAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAEjF,SAAS,KAAK;IACZ,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAClB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,GAAG,EACH,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,GACP;IACN,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,WAAW,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAY,YAAY,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,GAA0B,EAAE,EAAE;QAC7D,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,mBAAmB;IACnB,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG,gBAAgB,KAAK,WAAW,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;SAC5F,CAAC,CAAC;QACH,WAAW,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,4DAA4D;SACtE,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzD,0DAA0D;IAC1D,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,IAAI;gBAAE,OAAO;YACjB,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClB,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;gBACpE,WAAW,CAAC;oBACV,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,qBAAqB,IAAI,EAAE;iBACrC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC7B,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACzB,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,GAAsB,EAA+B,EAAE;QACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,IAAwB,EAAE,EAAE;QAC3B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,sBAAsB;IACtB,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,GAAW,EAAW,EAAE;QACvB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,yBAAyB,EAAE,CAAC;YAC5B,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;YACnF,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACrC,IAAI,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,cAAc,UAAU,4BAA4B,WAAW,GAAG;aAC5E,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAA+B,CAAC;YACtD,IAAI,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,MAAM,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC;oBACV,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,eAAe,IAAI,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC1E,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CACnD,CAAC;IAEF,oBAAoB;IACpB,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,KAAa,EAAE,EAAE;QACtB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,KAAkB,EAAQ,EAAE;gBAC3C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,aAAa;wBAChB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBACvD,MAAM;oBACR,KAAK,iBAAiB;wBACpB,WAAW,CAAC;4BACV,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;4BACnD,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,UAAU,EAAE,SAAS;yBACtB,CAAC,CAAC;wBACH,MAAM;oBACR,KAAK,mBAAmB,CAAC,CAAC,CAAC;wBACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;wBACrD,WAAW,CAAC;4BACV,IAAI,EAAE,aAAa;4BACnB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;gCAC3B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gCACnC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM;4BAChC,UAAU,EAAE,MAAM;yBACnB,CAAC,CAAC;wBACH,MAAM;oBACR,CAAC;oBACD,KAAK,eAAe;wBAClB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;4BACjB,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC7D,CAAC;wBACD,MAAM;oBACR,KAAK,iBAAiB;wBACpB,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;wBACtC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC;4BAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBAC7D,MAAM;oBACR,KAAK,mBAAmB;wBACtB,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBACzD,MAAM;oBACR,KAAK,aAAa;wBAChB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;wBACrD,MAAM;oBACR,KAAK,OAAO;wBACV,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBACvD,MAAM;oBACR,KAAK,gBAAgB;wBACnB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;4BAClB,mDAAmD;wBACrD,CAAC;wBACD,MAAM;gBACV,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;gBAChC,WAAW,EAAE,OAAO,CAAC,YAAY;gBACjC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,IAAI;gBACJ,KAAK;gBACL,WAAW;gBACX,gBAAgB,EAAE,GAAG;gBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO;gBACP,iBAAiB;gBACjB,QAAQ;gBACR,aAAa,EAAE,aAAa;aAC7B,CAAC,CAAC;YAEH,8DAA8D;YAC9D,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;oBACtB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,MAAM,CAAC,YAAY;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,OAAO,EAAG,GAAa,CAAC,OAAO,IAAI,kBAAkB;aACtD,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC,EACD;QACE,GAAG;QACH,kBAAkB;QAClB,aAAa;QACb,IAAI;QACJ,KAAK;QACL,WAAW;QACX,WAAW;QACX,iBAAiB;QACjB,OAAO,CAAC,YAAY;QACpB,QAAQ;KACT,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,CAAC,OAAO;YAAE,OAAO;QAClC,IAAI,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YAC7B,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAExC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,wBAEhB;YACP,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;;gBAAI,WAAW,CAAQ,CACrC;QACN,oBAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI;QAClC,OAAO,IAAI,CACV,oBAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,wBAAwB,GAAI,CACpF;QACA,CAAC,OAAO,IAAI,oBAAC,QAAQ,IAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,GAAI;QACjE,oBAAC,SAAS,IACR,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,GACV,CACE,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
|
package/dist/ui/InputBar.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* InputBar — kullanıcı prompt girişi.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* AIGENCY marka renkleri:
|
|
5
|
+
* - Aktif border: quantum cyan
|
|
6
|
+
* - Disabled border: dim gray
|
|
7
|
+
* - Prompt prefix: quantum cyan (bold)
|
|
5
8
|
*/
|
|
6
9
|
import React, { useState } from "react";
|
|
7
10
|
import { Box, Text } from "ink";
|
|
8
11
|
import TextInput from "ink-text-input";
|
|
12
|
+
import { palette, symbols } from "./theme.js";
|
|
9
13
|
export function InputBar({ onSubmit, disabled, placeholder = "Komut yazın veya / ile slash komutu…", }) {
|
|
10
14
|
const [value, setValue] = useState("");
|
|
11
15
|
const handleSubmit = (submitted) => {
|
|
@@ -15,8 +19,12 @@ export function InputBar({ onSubmit, disabled, placeholder = "Komut yazın veya
|
|
|
15
19
|
setValue("");
|
|
16
20
|
onSubmit(trimmed);
|
|
17
21
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
const borderColor = disabled ? palette.border : palette.brand;
|
|
23
|
+
const promptColor = disabled ? palette.textFaint : palette.brand;
|
|
24
|
+
return (React.createElement(Box, { borderStyle: "round", borderColor: borderColor, paddingX: 1 },
|
|
25
|
+
React.createElement(Text, { color: promptColor, bold: true },
|
|
26
|
+
symbols.prompt,
|
|
27
|
+
" "),
|
|
28
|
+
disabled ? (React.createElement(Text, { color: palette.textDim }, "(me\u015Fgul \u2014 l\u00FCtfen bekleyin\u2026)")) : (React.createElement(TextInput, { value: value, onChange: setValue, onSubmit: handleSubmit, placeholder: placeholder }))));
|
|
21
29
|
}
|
|
22
30
|
//# sourceMappingURL=InputBar.js.map
|
package/dist/ui/InputBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputBar.js","sourceRoot":"","sources":["../../src/ui/InputBar.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"InputBar.js","sourceRoot":"","sources":["../../src/ui/InputBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAQ9C,MAAM,UAAU,QAAQ,CAAC,EACvB,QAAQ,EACR,QAAQ,EACR,WAAW,GAAG,sCAAsC,GAC9C;IACN,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAQ,EAAE;QAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9D,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAEjE,OAAO,CACL,oBAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAC5D,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW,EAAE,IAAI;YAC3B,OAAO,CAAC,MAAM;YAAE,GAAG,CACf;QACN,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,OAAO,sDAAoC,CACjE,CAAC,CAAC,CAAC,CACF,oBAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,WAAW,GACxB,CACH,CACG,CACP,CAAC;AACJ,CAAC"}
|
package/dist/ui/MessageList.js
CHANGED
|
@@ -1,54 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MessageList — sohbet mesajlarını, tool çağrılarını ve agent düşüncelerini render eder.
|
|
3
3
|
*
|
|
4
|
+
* Renkler: AIGENCY marka paletinden (palette/theme modülü üzerinden).
|
|
4
5
|
* Her render öncesi content sanitizeForDisplay'den geçer — UI tarafı ek güvenlik ağı.
|
|
5
6
|
*/
|
|
6
7
|
import React from "react";
|
|
7
8
|
import { Box, Text } from "ink";
|
|
8
9
|
import { sanitizeForDisplay } from "../security/sanitize.js";
|
|
9
|
-
|
|
10
|
-
user: "cyan",
|
|
11
|
-
assistant: "white",
|
|
12
|
-
think: "gray",
|
|
13
|
-
tool_call: "yellow",
|
|
14
|
-
tool_result: "green",
|
|
15
|
-
error: "red",
|
|
16
|
-
info: "blue",
|
|
17
|
-
warning: "yellow",
|
|
18
|
-
};
|
|
10
|
+
import { messageKindColors, palette, symbols } from "./theme.js";
|
|
19
11
|
const kindPrefix = {
|
|
20
|
-
user:
|
|
21
|
-
assistant:
|
|
22
|
-
think:
|
|
23
|
-
tool_call:
|
|
24
|
-
tool_result:
|
|
25
|
-
error:
|
|
26
|
-
info:
|
|
27
|
-
warning:
|
|
12
|
+
user: symbols.prompt,
|
|
13
|
+
assistant: symbols.sparkle,
|
|
14
|
+
think: symbols.ellipsis,
|
|
15
|
+
tool_call: symbols.triangle,
|
|
16
|
+
tool_result: symbols.square,
|
|
17
|
+
error: symbols.cross,
|
|
18
|
+
info: symbols.info,
|
|
19
|
+
warning: symbols.warning,
|
|
28
20
|
};
|
|
29
21
|
function MessageItem({ message }) {
|
|
30
|
-
const color =
|
|
22
|
+
const color = messageKindColors[message.kind];
|
|
31
23
|
const prefix = kindPrefix[message.kind];
|
|
32
24
|
const safeContent = sanitizeForDisplay(message.content);
|
|
33
25
|
if (message.kind === "tool_call") {
|
|
34
26
|
return (React.createElement(Box, null,
|
|
35
|
-
React.createElement(Text, { color: color },
|
|
27
|
+
React.createElement(Text, { color: color, bold: true },
|
|
36
28
|
prefix,
|
|
37
29
|
" ",
|
|
38
30
|
message.toolName,
|
|
39
31
|
" "),
|
|
40
|
-
React.createElement(Text, { color:
|
|
32
|
+
React.createElement(Text, { color: palette.textDim }, safeContent)));
|
|
41
33
|
}
|
|
42
34
|
if (message.kind === "tool_result") {
|
|
43
|
-
const statusColor = message.toolStatus === "error" ?
|
|
35
|
+
const statusColor = message.toolStatus === "error" ? palette.error : palette.success;
|
|
44
36
|
const lines = safeContent.split("\n");
|
|
45
37
|
return (React.createElement(Box, { flexDirection: "column", marginLeft: 2 },
|
|
46
38
|
React.createElement(Text, { color: statusColor },
|
|
47
39
|
prefix,
|
|
48
40
|
" ",
|
|
49
41
|
lines.slice(0, 6).join("\n")),
|
|
50
|
-
lines.length > 6 && (React.createElement(Text, { color:
|
|
51
|
-
"
|
|
42
|
+
lines.length > 6 && (React.createElement(Text, { color: palette.textDim },
|
|
43
|
+
" ",
|
|
44
|
+
symbols.ellipsis,
|
|
45
|
+
" (",
|
|
52
46
|
lines.length - 6,
|
|
53
47
|
" sat\u0131r daha)"))));
|
|
54
48
|
}
|
|
@@ -67,14 +61,21 @@ function MessageItem({ message }) {
|
|
|
67
61
|
" ",
|
|
68
62
|
message.content)));
|
|
69
63
|
}
|
|
70
|
-
|
|
64
|
+
if (message.kind === "assistant") {
|
|
65
|
+
return (React.createElement(Box, null,
|
|
66
|
+
React.createElement(Text, { color: color },
|
|
67
|
+
prefix,
|
|
68
|
+
" ",
|
|
69
|
+
safeContent)));
|
|
70
|
+
}
|
|
71
|
+
// info / error / warning
|
|
71
72
|
return (React.createElement(Box, null,
|
|
72
73
|
React.createElement(Text, { color: color },
|
|
73
74
|
prefix,
|
|
74
75
|
" ",
|
|
75
76
|
safeContent)));
|
|
76
77
|
}
|
|
77
|
-
export function MessageList({ messages, maxVisible = 30 }) {
|
|
78
|
+
export function MessageList({ messages, maxVisible = 30, }) {
|
|
78
79
|
const visible = messages.slice(-maxVisible);
|
|
79
80
|
return (React.createElement(Box, { flexDirection: "column", paddingX: 1 }, visible.map((msg) => (React.createElement(Box, { key: msg.id, marginBottom: msg.kind === "assistant" || msg.kind === "user" ? 1 : 0 },
|
|
80
81
|
React.createElement(MessageItem, { message: msg }))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../src/ui/MessageList.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../src/ui/MessageList.tsx"],"names":[],"mappings":"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"}
|
package/dist/ui/ModeIndicator.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ModeIndicator — mevcut izin modunu gösterir.
|
|
3
3
|
* Kullanıcı Shift+Tab ile döngüsel değiştirir.
|
|
4
|
+
*
|
|
5
|
+
* Her mod için marka paletinden özel bir renk + ikon kullanılır:
|
|
6
|
+
* default → quantum cyan (●)
|
|
7
|
+
* plan → bilgi mavisi (◇)
|
|
8
|
+
* accept_edits → amber sarı (✎)
|
|
9
|
+
* auto → neural magenta (⚡)
|
|
4
10
|
*/
|
|
5
11
|
import React from "react";
|
|
6
12
|
import { Box, Text } from "ink";
|
|
7
|
-
import {
|
|
8
|
-
const modeColorMap = {
|
|
9
|
-
default: "cyan",
|
|
10
|
-
plan: "blue",
|
|
11
|
-
accept_edits: "yellow",
|
|
12
|
-
auto: "magenta",
|
|
13
|
-
};
|
|
13
|
+
import { modeColors } from "./theme.js";
|
|
14
14
|
export function ModeIndicator({ mode }) {
|
|
15
|
-
const
|
|
16
|
-
const label = modeLabel[mode] || mode;
|
|
15
|
+
const config = modeColors[mode];
|
|
17
16
|
return (React.createElement(Box, null,
|
|
18
|
-
React.createElement(Text, { color: color, bold: true },
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
React.createElement(Text, { color: config.color, bold: true },
|
|
18
|
+
config.icon,
|
|
19
|
+
" ",
|
|
20
|
+
config.label)));
|
|
22
21
|
}
|
|
23
22
|
//# sourceMappingURL=ModeIndicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModeIndicator.js","sourceRoot":"","sources":["../../src/ui/ModeIndicator.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ModeIndicator.js","sourceRoot":"","sources":["../../src/ui/ModeIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMxC,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAAS;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,CACL,oBAAC,GAAG;QACF,oBAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI;YAC5B,MAAM,CAAC,IAAI;;YAAG,MAAM,CAAC,KAAK,CACtB,CACH,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PermissionPrompt — tool call için onay prompt'u.
|
|
3
3
|
*
|
|
4
|
+
* AIGENCY marka renkleri:
|
|
5
|
+
* low → holographic green
|
|
6
|
+
* med → quantum cyan (bilgi)
|
|
7
|
+
* high → destructive red (dikkat)
|
|
8
|
+
*
|
|
4
9
|
* Klavye:
|
|
5
10
|
* y = kabul
|
|
6
11
|
* n = reddet
|
|
@@ -9,10 +14,11 @@
|
|
|
9
14
|
*/
|
|
10
15
|
import React, { useState } from "react";
|
|
11
16
|
import { Box, Text, useInput } from "ink";
|
|
17
|
+
import { palette, symbols } from "./theme.js";
|
|
12
18
|
const severityColor = {
|
|
13
|
-
low:
|
|
14
|
-
medium:
|
|
15
|
-
high:
|
|
19
|
+
low: palette.success,
|
|
20
|
+
medium: palette.brand,
|
|
21
|
+
high: palette.error,
|
|
16
22
|
};
|
|
17
23
|
export function PermissionPrompt({ request, onRespond, }) {
|
|
18
24
|
const [handled, setHandled] = useState(false);
|
|
@@ -38,24 +44,32 @@ export function PermissionPrompt({ request, onRespond, }) {
|
|
|
38
44
|
onRespond({ decision: "approve_once_session" });
|
|
39
45
|
}
|
|
40
46
|
}, { isActive: !handled });
|
|
41
|
-
const
|
|
42
|
-
return (React.createElement(Box, { borderStyle: "round", borderColor:
|
|
43
|
-
React.createElement(Text, { color:
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
const accent = severityColor[request.severity];
|
|
48
|
+
return (React.createElement(Box, { borderStyle: "round", borderColor: accent, paddingX: 1, flexDirection: "column", marginY: 1 },
|
|
49
|
+
React.createElement(Text, { color: accent, bold: true },
|
|
50
|
+
symbols.warning,
|
|
51
|
+
" \u0130zin gerekli:",
|
|
52
|
+
" ",
|
|
53
|
+
React.createElement(Text, { color: palette.textPrimary }, request.title)),
|
|
46
54
|
React.createElement(Box, { marginTop: 1 },
|
|
47
|
-
React.createElement(Text, { color:
|
|
48
|
-
request.preview && (React.createElement(Box, { marginTop: 1, borderStyle: "single", borderColor:
|
|
49
|
-
React.createElement(Text, { color:
|
|
50
|
-
request.preview.split("\n").length > 12 && (React.createElement(Text, { color:
|
|
55
|
+
React.createElement(Text, { color: palette.textMuted }, request.description)),
|
|
56
|
+
request.preview && (React.createElement(Box, { marginTop: 1, borderStyle: "single", borderColor: palette.border, paddingX: 1, flexDirection: "column" },
|
|
57
|
+
React.createElement(Text, { color: palette.textDim }, request.preview.split("\n").slice(0, 12).join("\n")),
|
|
58
|
+
request.preview.split("\n").length > 12 && (React.createElement(Text, { color: palette.textFaint },
|
|
59
|
+
symbols.ellipsis,
|
|
60
|
+
" daha fazla sat\u0131r")))),
|
|
51
61
|
React.createElement(Box, { marginTop: 1 },
|
|
52
62
|
React.createElement(Text, null,
|
|
53
|
-
React.createElement(Text, { color:
|
|
54
|
-
React.createElement(Text, { color:
|
|
55
|
-
React.createElement(Text, { color:
|
|
56
|
-
React.createElement(Text, { color:
|
|
57
|
-
React.createElement(Text, { color:
|
|
58
|
-
React.createElement(Text, { color:
|
|
59
|
-
React.createElement(Text, { color:
|
|
63
|
+
React.createElement(Text, { color: palette.success, bold: true }, "[y]"),
|
|
64
|
+
React.createElement(Text, { color: palette.textDim }, " kabul "),
|
|
65
|
+
React.createElement(Text, { color: palette.textFaint }, "\u2502 "),
|
|
66
|
+
React.createElement(Text, { color: palette.error, bold: true }, "[n]"),
|
|
67
|
+
React.createElement(Text, { color: palette.textDim }, " reddet "),
|
|
68
|
+
React.createElement(Text, { color: palette.textFaint }, "\u2502 "),
|
|
69
|
+
React.createElement(Text, { color: palette.warning, bold: true }, "[a]"),
|
|
70
|
+
React.createElement(Text, { color: palette.textDim }, " oturum kabul "),
|
|
71
|
+
React.createElement(Text, { color: palette.textFaint }, "\u2502 "),
|
|
72
|
+
React.createElement(Text, { color: palette.textMuted }, "[Esc]"),
|
|
73
|
+
React.createElement(Text, { color: palette.textDim }, " iptal")))));
|
|
60
74
|
}
|
|
61
75
|
//# sourceMappingURL=PermissionPrompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionPrompt.js","sourceRoot":"","sources":["../../src/ui/PermissionPrompt.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"PermissionPrompt.js","sourceRoot":"","sources":["../../src/ui/PermissionPrompt.tsx"],"names":[],"mappings":"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"}
|
package/dist/ui/StatusBar.js
CHANGED
|
@@ -1,39 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* StatusBar — ekranın alt barında token sayacı, mode, proje bilgisi.
|
|
3
|
+
*
|
|
4
|
+
* AIGENCY marka renkleri kullanır. Kota yüzdesi eşiklere göre renk değiştirir:
|
|
5
|
+
* <50% → holographic green
|
|
6
|
+
* <75% → quantum cyan
|
|
7
|
+
* <90% → warning amber
|
|
8
|
+
* ≥90% → destructive red
|
|
3
9
|
*/
|
|
4
10
|
import React from "react";
|
|
5
11
|
import { Box, Text } from "ink";
|
|
6
12
|
import path from "node:path";
|
|
7
13
|
import { ModeIndicator } from "./ModeIndicator.js";
|
|
14
|
+
import { palette, usageColor, symbols } from "./theme.js";
|
|
8
15
|
function formatNumber(n) {
|
|
9
16
|
return n.toLocaleString("tr-TR");
|
|
10
17
|
}
|
|
11
18
|
function pct(used, limit) {
|
|
12
19
|
if (limit <= 0)
|
|
13
|
-
return
|
|
14
|
-
return
|
|
20
|
+
return 0;
|
|
21
|
+
return Math.min(100, Math.round((used / limit) * 100));
|
|
15
22
|
}
|
|
16
23
|
export function StatusBar({ tokensUsed, tokensLimit, mode, model, cwd, busy, }) {
|
|
17
|
-
const
|
|
24
|
+
const percent = pct(tokensUsed, tokensLimit);
|
|
18
25
|
const projectName = path.basename(cwd) || cwd;
|
|
19
26
|
const modelLabel = model === "max" ? "AIGENCY Max" : "AIGENCY Pro";
|
|
20
|
-
const
|
|
21
|
-
const pctColor =
|
|
22
|
-
return (React.createElement(Box, { borderStyle: "single", borderColor:
|
|
27
|
+
const modelColor = model === "max" ? palette.accent : palette.brand;
|
|
28
|
+
const pctColor = usageColor(percent);
|
|
29
|
+
return (React.createElement(Box, { borderStyle: "single", borderColor: palette.border, paddingX: 1, justifyContent: "space-between" },
|
|
23
30
|
React.createElement(Box, null,
|
|
24
31
|
React.createElement(ModeIndicator, { mode: mode }),
|
|
25
|
-
React.createElement(Text, { color:
|
|
26
|
-
React.createElement(Text, { color:
|
|
27
|
-
React.createElement(Text, { color:
|
|
28
|
-
React.createElement(Text, { color:
|
|
32
|
+
React.createElement(Text, { color: palette.textFaint }, " \u00B7 "),
|
|
33
|
+
React.createElement(Text, { color: modelColor, bold: true }, modelLabel),
|
|
34
|
+
React.createElement(Text, { color: palette.textFaint }, " \u00B7 "),
|
|
35
|
+
React.createElement(Text, { color: palette.textPrimary }, projectName)),
|
|
29
36
|
React.createElement(Box, null,
|
|
30
|
-
busy && React.createElement(Text, { color:
|
|
37
|
+
busy && (React.createElement(Text, { color: palette.warning },
|
|
38
|
+
symbols.hourglass,
|
|
39
|
+
" \u00E7al\u0131\u015F\u0131yor",
|
|
40
|
+
" ")),
|
|
31
41
|
React.createElement(Text, { color: pctColor },
|
|
32
42
|
formatNumber(tokensUsed),
|
|
33
43
|
"/",
|
|
34
44
|
formatNumber(tokensLimit),
|
|
35
45
|
" (",
|
|
36
|
-
|
|
37
|
-
")"))));
|
|
46
|
+
percent,
|
|
47
|
+
"%)"))));
|
|
38
48
|
}
|
|
39
49
|
//# sourceMappingURL=StatusBar.js.map
|
package/dist/ui/StatusBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../src/ui/StatusBar.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../src/ui/StatusBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAW1D,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa;IACtC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,UAAU,EACV,WAAW,EACX,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,GACE;IACN,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAC9C,MAAM,UAAU,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;IACnE,MAAM,UAAU,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACpE,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO,CACL,oBAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,OAAO,CAAC,MAAM,EAC3B,QAAQ,EAAE,CAAC,EACX,cAAc,EAAC,eAAe;QAE9B,oBAAC,GAAG;YACF,oBAAC,aAAa,IAAC,IAAI,EAAE,IAAI,GAAI;YAC7B,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,SAAS,eAAY;YAC1C,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,IAAI,UAC1B,UAAU,CACN;YACP,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,SAAS,eAAY;YAC1C,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,WAAW,IAAG,WAAW,CAAQ,CAClD;QACN,oBAAC,GAAG;YACD,IAAI,IAAI,CACP,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,OAAO;gBACzB,OAAO,CAAC,SAAS;;gBAAY,GAAG,CAC5B,CACR;YACD,oBAAC,IAAI,IAAC,KAAK,EAAE,QAAQ;gBAClB,YAAY,CAAC,UAAU,CAAC;;gBAAG,YAAY,CAAC,WAAW,CAAC;;gBAAI,OAAO;qBAC3D,CACH,CACF,CACP,CAAC;AACJ,CAAC"}
|
package/dist/ui/theme.js
CHANGED
|
@@ -1,42 +1,154 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AIGENCY CLI — Ink UI tema renkleri.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Projenin ana marka paletinden türetilmiştir (tailwind.config.ts + globals.css):
|
|
5
|
+
* - Quantum cyan → ana marka accent (#38bdf8 / #0ea5e9)
|
|
6
|
+
* - Neural magenta → ikincil accent (#d946ef / #e879f9)
|
|
7
|
+
* - Holographic → başarı / onay (#22c55e)
|
|
8
|
+
* - Destructive → hata / engelleme (#dc2626)
|
|
9
|
+
* - Background → saf siyah (#000000)
|
|
10
|
+
* - Foreground → saf beyaz (#ffffff)
|
|
11
|
+
*
|
|
12
|
+
* Ink 5 hem ANSI isimlerini hem hex kodlarını kabul eder. Modern terminaller
|
|
13
|
+
* (Windows Terminal, iTerm2, macOS Terminal, Linux gnome-terminal) 24-bit
|
|
14
|
+
* true-color destekler, desteklemeyen terminaller Ink otomatik olarak en yakın
|
|
15
|
+
* ANSI rengine düşürür.
|
|
6
16
|
*/
|
|
17
|
+
// ═══ Ana renk paleti ═══
|
|
18
|
+
export const palette = {
|
|
19
|
+
// Arka plan katmanları
|
|
20
|
+
bg: "#000000",
|
|
21
|
+
bgCard: "#0a0a0a",
|
|
22
|
+
bgCardHover: "#151515",
|
|
23
|
+
// Metin hiyerarşisi
|
|
24
|
+
textPrimary: "#ffffff",
|
|
25
|
+
textSecondary: "#d4d4d8", // zinc-300 tonunda
|
|
26
|
+
textMuted: "#a1a1aa", // zinc-400
|
|
27
|
+
textDim: "#71717a", // zinc-500
|
|
28
|
+
textFaint: "#52525b", // zinc-600
|
|
29
|
+
// Marka accent — Quantum (cyan) ana marka rengi
|
|
30
|
+
brand: "#38bdf8", // quantum-400 — parlak cyan
|
|
31
|
+
brandBright: "#7dd3fc", // quantum-300 — daha açık
|
|
32
|
+
brandDeep: "#0ea5e9", // quantum-500 — koyu doygun
|
|
33
|
+
// İkincil accent — Neural (magenta/mor)
|
|
34
|
+
accent: "#e879f9", // neural-400
|
|
35
|
+
accentBright: "#f0abfc", // neural-300
|
|
36
|
+
accentDeep: "#d946ef", // neural-500
|
|
37
|
+
// Holographic — başarı durumu (yeşil)
|
|
38
|
+
success: "#4ade80", // holographic-400
|
|
39
|
+
successBright: "#86efac", // holographic-300
|
|
40
|
+
successDeep: "#22c55e", // holographic-500
|
|
41
|
+
// Uyarı — amber/sarı
|
|
42
|
+
warning: "#fbbf24", // amber-400
|
|
43
|
+
warningBright: "#fcd34d", // amber-300
|
|
44
|
+
warningDeep: "#f59e0b", // amber-500
|
|
45
|
+
// Hata — destructive kırmızı
|
|
46
|
+
error: "#f87171", // red-400
|
|
47
|
+
errorBright: "#fca5a5", // red-300
|
|
48
|
+
errorDeep: "#ef4444", // red-500
|
|
49
|
+
// Info — mavi (quantum'dan farklı)
|
|
50
|
+
info: "#60a5fa", // blue-400
|
|
51
|
+
infoDeep: "#3b82f6", // blue-500
|
|
52
|
+
// Border ve ayırıcılar
|
|
53
|
+
border: "#27272a", // zinc-800
|
|
54
|
+
borderLight: "#3f3f46", // zinc-700
|
|
55
|
+
};
|
|
56
|
+
// ═══ Semantik tema (UI component'leri için) ═══
|
|
7
57
|
export const theme = {
|
|
8
58
|
// Markaj
|
|
9
|
-
brand:
|
|
10
|
-
|
|
11
|
-
accent:
|
|
59
|
+
brand: palette.brand,
|
|
60
|
+
brandBright: palette.brandBright,
|
|
61
|
+
accent: palette.accent,
|
|
12
62
|
// Durum
|
|
13
|
-
success:
|
|
14
|
-
warning:
|
|
15
|
-
error:
|
|
16
|
-
info:
|
|
63
|
+
success: palette.success,
|
|
64
|
+
warning: palette.warning,
|
|
65
|
+
error: palette.error,
|
|
66
|
+
info: palette.info,
|
|
17
67
|
// Metin
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
68
|
+
text: palette.textPrimary,
|
|
69
|
+
textSecondary: palette.textSecondary,
|
|
70
|
+
muted: palette.textMuted,
|
|
71
|
+
dim: palette.textDim,
|
|
72
|
+
faint: palette.textFaint,
|
|
73
|
+
// Border
|
|
74
|
+
border: palette.border,
|
|
75
|
+
borderBright: palette.borderLight,
|
|
76
|
+
};
|
|
77
|
+
// ═══ Agent rolleri (sunucu agent_spawn event'i için) ═══
|
|
78
|
+
// Her rolün kendine özgü rengi var — paralel agent çalışırken ayırt edilsin
|
|
79
|
+
export const agentRoleColor = {
|
|
80
|
+
orchestrator: palette.textPrimary,
|
|
81
|
+
planner: palette.info,
|
|
82
|
+
coder: palette.success,
|
|
83
|
+
researcher: palette.accent,
|
|
84
|
+
reviewer: palette.warning,
|
|
85
|
+
tester: palette.error,
|
|
86
|
+
designer: palette.brand,
|
|
87
|
+
deployer: palette.warningBright,
|
|
88
|
+
};
|
|
89
|
+
export const modeColors = {
|
|
90
|
+
default: {
|
|
91
|
+
color: palette.brand,
|
|
92
|
+
label: "VARSAYILAN",
|
|
93
|
+
icon: "●",
|
|
94
|
+
},
|
|
95
|
+
plan: {
|
|
96
|
+
color: palette.info,
|
|
97
|
+
label: "PLAN",
|
|
98
|
+
icon: "◇",
|
|
99
|
+
},
|
|
100
|
+
accept_edits: {
|
|
101
|
+
color: palette.warning,
|
|
102
|
+
label: "OTO.YAZ",
|
|
103
|
+
icon: "✎",
|
|
104
|
+
},
|
|
105
|
+
auto: {
|
|
106
|
+
color: palette.accent,
|
|
107
|
+
label: "OTOMATİK",
|
|
108
|
+
icon: "⚡",
|
|
109
|
+
},
|
|
29
110
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
111
|
+
// Geriye uyumluluk — eski kod `modeLabel[mode]` kullanıyordu
|
|
112
|
+
export const modeLabel = Object.fromEntries(Object.entries(modeColors).map(([k, v]) => [k, v.label]));
|
|
113
|
+
// ═══ Mesaj tipi renkleri (MessageList için) ═══
|
|
114
|
+
export const messageKindColors = {
|
|
115
|
+
user: palette.brandBright,
|
|
116
|
+
assistant: palette.textPrimary,
|
|
117
|
+
think: palette.textDim,
|
|
118
|
+
tool_call: palette.warning,
|
|
119
|
+
tool_result: palette.success,
|
|
120
|
+
error: palette.error,
|
|
121
|
+
info: palette.brand,
|
|
122
|
+
warning: palette.warning,
|
|
35
123
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
124
|
+
// ═══ Kota/kullanım eşik renkleri ═══
|
|
125
|
+
export function usageColor(percent) {
|
|
126
|
+
if (percent >= 90)
|
|
127
|
+
return palette.error;
|
|
128
|
+
if (percent >= 75)
|
|
129
|
+
return palette.warning;
|
|
130
|
+
if (percent >= 50)
|
|
131
|
+
return palette.brand;
|
|
132
|
+
return palette.success;
|
|
133
|
+
}
|
|
134
|
+
// ═══ Dekoratif semboller (AIGENCY marka tutarlılığı için) ═══
|
|
135
|
+
export const symbols = {
|
|
136
|
+
prompt: "›",
|
|
137
|
+
bullet: "•",
|
|
138
|
+
arrow: "→",
|
|
139
|
+
check: "✓",
|
|
140
|
+
cross: "✗",
|
|
141
|
+
info: "ℹ",
|
|
142
|
+
warning: "⚠",
|
|
143
|
+
sparkle: "✦",
|
|
144
|
+
ellipsis: "…",
|
|
145
|
+
dot: "●",
|
|
146
|
+
square: "▪",
|
|
147
|
+
triangle: "▸",
|
|
148
|
+
diamond: "◆",
|
|
149
|
+
circle: "○",
|
|
150
|
+
star: "★",
|
|
151
|
+
hourglass: "⧗",
|
|
152
|
+
lightning: "⚡",
|
|
41
153
|
};
|
|
42
154
|
//# sourceMappingURL=theme.js.map
|
package/dist/ui/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
|
package/dist/version.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Bu dosya build sırasında otomatik güncellenir. Hard-code tutulmasının
|
|
5
5
|
* sebebi: compiled binary'de package.json okumaya gerek bırakmaz.
|
|
6
6
|
*/
|
|
7
|
-
export const CLI_VERSION = "0.
|
|
7
|
+
export const CLI_VERSION = "0.2.0";
|
|
8
8
|
export const CLI_NAME = "aigency";
|
|
9
9
|
export const CLI_DISPLAY_NAME = "AIGENCY CLI";
|
|
10
10
|
//# sourceMappingURL=version.js.map
|