@aigencydev/cli 0.1.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/README.md +83 -0
- package/dist/agent/chunker.js +59 -0
- package/dist/agent/chunker.js.map +1 -0
- package/dist/agent/history.js +35 -0
- package/dist/agent/history.js.map +1 -0
- package/dist/agent/loop.js +219 -0
- package/dist/agent/loop.js.map +1 -0
- package/dist/agent/memory.js +177 -0
- package/dist/agent/memory.js.map +1 -0
- package/dist/api-client/auth.js +43 -0
- package/dist/api-client/auth.js.map +1 -0
- package/dist/api-client/base.js +154 -0
- package/dist/api-client/base.js.map +1 -0
- package/dist/api-client/stream.js +123 -0
- package/dist/api-client/stream.js.map +1 -0
- package/dist/api-client/updates.js +31 -0
- package/dist/api-client/updates.js.map +1 -0
- package/dist/api-client/usage.js +15 -0
- package/dist/api-client/usage.js.map +1 -0
- package/dist/auth/oauth.js +178 -0
- package/dist/auth/oauth.js.map +1 -0
- package/dist/auth/pkce.js +19 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/session.js +48 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/auth/storage.js +142 -0
- package/dist/auth/storage.js.map +1 -0
- package/dist/cli.js +161 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/chat.js +76 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/help.js +61 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/init.js +43 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.js +153 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.js +30 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/update.js +88 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/usage.js +64 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/config/defaults.js +54 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/hooks.js +99 -0
- package/dist/config/hooks.js.map +1 -0
- package/dist/config/paths.js +62 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/settings.js +80 -0
- package/dist/config/settings.js.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/security/command-filter.js +121 -0
- package/dist/security/command-filter.js.map +1 -0
- package/dist/security/sandbox.js +182 -0
- package/dist/security/sandbox.js.map +1 -0
- package/dist/security/sanitize.js +59 -0
- package/dist/security/sanitize.js.map +1 -0
- package/dist/tools/bash.js +206 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/diff.js +56 -0
- package/dist/tools/diff.js.map +1 -0
- package/dist/tools/edit-file.js +165 -0
- package/dist/tools/edit-file.js.map +1 -0
- package/dist/tools/list-files.js +116 -0
- package/dist/tools/list-files.js.map +1 -0
- package/dist/tools/read-file.js +107 -0
- package/dist/tools/read-file.js.map +1 -0
- package/dist/tools/registry.js +54 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/search-files.js +159 -0
- package/dist/tools/search-files.js.map +1 -0
- package/dist/tools/types.js +5 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/write-file.js +141 -0
- package/dist/tools/write-file.js.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/App.js +264 -0
- package/dist/ui/App.js.map +1 -0
- package/dist/ui/InputBar.js +22 -0
- package/dist/ui/InputBar.js.map +1 -0
- package/dist/ui/MessageList.js +82 -0
- package/dist/ui/MessageList.js.map +1 -0
- package/dist/ui/ModeIndicator.js +23 -0
- package/dist/ui/ModeIndicator.js.map +1 -0
- package/dist/ui/PermissionPrompt.js +61 -0
- package/dist/ui/PermissionPrompt.js.map +1 -0
- package/dist/ui/StatusBar.js +39 -0
- package/dist/ui/StatusBar.js.map +1 -0
- package/dist/ui/theme.js +42 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/utils/abort.js +61 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/errors.js +63 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/formatting.js +102 -0
- package/dist/utils/formatting.js.map +1 -0
- package/dist/utils/logger.js +43 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AIGENCY CLI — hata sınıfları.
|
|
3
|
+
*
|
|
4
|
+
* Tüm kontrollü hatalar CliError'dan türer. CLI entry point bunları
|
|
5
|
+
* yakalayıp insan dostu mesajla çıkış yapar.
|
|
6
|
+
*/
|
|
7
|
+
export class CliError extends Error {
|
|
8
|
+
code;
|
|
9
|
+
status;
|
|
10
|
+
details;
|
|
11
|
+
hint;
|
|
12
|
+
constructor(message, options) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.name = "CliError";
|
|
15
|
+
this.code = options.code;
|
|
16
|
+
this.status = options.status;
|
|
17
|
+
this.details = options.details;
|
|
18
|
+
this.hint = options.hint;
|
|
19
|
+
if (options.cause !== undefined) {
|
|
20
|
+
this.cause = options.cause;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class AuthError extends CliError {
|
|
25
|
+
constructor(message, hint) {
|
|
26
|
+
super(message, { code: "auth_error", status: 401, hint });
|
|
27
|
+
this.name = "AuthError";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class NetworkError extends CliError {
|
|
31
|
+
constructor(message, cause) {
|
|
32
|
+
super(message, {
|
|
33
|
+
code: "network_error",
|
|
34
|
+
hint: "İnternet bağlantınızı kontrol edin veya birazdan tekrar deneyin.",
|
|
35
|
+
cause,
|
|
36
|
+
});
|
|
37
|
+
this.name = "NetworkError";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class ConfigError extends CliError {
|
|
41
|
+
constructor(message, hint) {
|
|
42
|
+
super(message, { code: "config_error", hint });
|
|
43
|
+
this.name = "ConfigError";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export class QuotaError extends CliError {
|
|
47
|
+
constructor(message, details) {
|
|
48
|
+
super(message, {
|
|
49
|
+
code: "quota_exceeded",
|
|
50
|
+
status: 429,
|
|
51
|
+
details,
|
|
52
|
+
hint: "Aylık AIGENCY CLI kotanız doldu. `aigency usage --upgrade` ile paketinizi yükseltin.",
|
|
53
|
+
});
|
|
54
|
+
this.name = "QuotaError";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export class ValidationError extends CliError {
|
|
58
|
+
constructor(message, details) {
|
|
59
|
+
super(message, { code: "validation_error", status: 400, details });
|
|
60
|
+
this.name = "ValidationError";
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjB,IAAI,CAAS;IACb,MAAM,CAAU;IAChB,OAAO,CAAW;IAClB,IAAI,CAAU;IAE9B,YACE,OAAe,EACf,OAMC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAA4B,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,kEAAkE;YACxE,KAAK;SACN,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACtC,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,GAAG;YACX,OAAO;YACP,IAAI,EAAE,sFAAsF;SAC7F,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AIGENCY CLI — ANSI renk ve biçimlendirme yardımcıları.
|
|
3
|
+
*
|
|
4
|
+
* Dış bir paket (chalk vs.) eklemeden doğrudan ANSI escape sequence'leri
|
|
5
|
+
* kullanıyoruz — binary boyutunu küçük tutar, Bun compile'da bağımlılık
|
|
6
|
+
* çakışması olmaz.
|
|
7
|
+
*/
|
|
8
|
+
const ESC = "\u001b[";
|
|
9
|
+
function wrap(code, text) {
|
|
10
|
+
if (!process.stdout.isTTY)
|
|
11
|
+
return text;
|
|
12
|
+
return `${ESC}${code}m${text}${ESC}0m`;
|
|
13
|
+
}
|
|
14
|
+
export const color = {
|
|
15
|
+
dim: (s) => wrap(2, s),
|
|
16
|
+
bold: (s) => wrap(1, s),
|
|
17
|
+
underline: (s) => wrap(4, s),
|
|
18
|
+
red: (s) => wrap(31, s),
|
|
19
|
+
green: (s) => wrap(32, s),
|
|
20
|
+
yellow: (s) => wrap(33, s),
|
|
21
|
+
blue: (s) => wrap(34, s),
|
|
22
|
+
magenta: (s) => wrap(35, s),
|
|
23
|
+
cyan: (s) => wrap(36, s),
|
|
24
|
+
gray: (s) => wrap(90, s),
|
|
25
|
+
white: (s) => wrap(97, s),
|
|
26
|
+
};
|
|
27
|
+
export const symbols = {
|
|
28
|
+
tick: process.platform === "win32" ? "√" : "✓",
|
|
29
|
+
cross: process.platform === "win32" ? "×" : "✗",
|
|
30
|
+
info: process.platform === "win32" ? "i" : "ℹ",
|
|
31
|
+
warning: process.platform === "win32" ? "!" : "⚠",
|
|
32
|
+
arrow: process.platform === "win32" ? "->" : "→",
|
|
33
|
+
bullet: "•",
|
|
34
|
+
ellipsis: "…",
|
|
35
|
+
};
|
|
36
|
+
export function formatTable(rows) {
|
|
37
|
+
if (rows.length === 0)
|
|
38
|
+
return "";
|
|
39
|
+
const headers = Object.keys(rows[0]);
|
|
40
|
+
const widths = {};
|
|
41
|
+
for (const h of headers) {
|
|
42
|
+
widths[h] = Math.max(h.length, ...rows.map((r) => String(r[h] ?? "").length));
|
|
43
|
+
}
|
|
44
|
+
const headerLine = headers
|
|
45
|
+
.map((h) => color.bold(h.padEnd(widths[h])))
|
|
46
|
+
.join(" ");
|
|
47
|
+
const separator = headers.map((h) => "─".repeat(widths[h])).join(" ");
|
|
48
|
+
const dataLines = rows.map((r) => headers.map((h) => String(r[h] ?? "").padEnd(widths[h])).join(" "));
|
|
49
|
+
return [headerLine, color.dim(separator), ...dataLines].join("\n");
|
|
50
|
+
}
|
|
51
|
+
export function formatNumber(n) {
|
|
52
|
+
return n.toLocaleString("tr-TR");
|
|
53
|
+
}
|
|
54
|
+
export function formatBytes(bytes) {
|
|
55
|
+
if (bytes < 1024)
|
|
56
|
+
return `${bytes} B`;
|
|
57
|
+
if (bytes < 1024 * 1024)
|
|
58
|
+
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
59
|
+
if (bytes < 1024 * 1024 * 1024)
|
|
60
|
+
return `${(bytes / 1024 / 1024).toFixed(1)} MB`;
|
|
61
|
+
return `${(bytes / 1024 / 1024 / 1024).toFixed(2)} GB`;
|
|
62
|
+
}
|
|
63
|
+
export function formatDuration(ms) {
|
|
64
|
+
if (ms < 1000)
|
|
65
|
+
return `${ms}ms`;
|
|
66
|
+
if (ms < 60_000)
|
|
67
|
+
return `${(ms / 1000).toFixed(1)}s`;
|
|
68
|
+
const minutes = Math.floor(ms / 60_000);
|
|
69
|
+
const seconds = Math.floor((ms % 60_000) / 1000);
|
|
70
|
+
return `${minutes}dk ${seconds}s`;
|
|
71
|
+
}
|
|
72
|
+
export function formatRelativeTime(iso) {
|
|
73
|
+
const now = Date.now();
|
|
74
|
+
const then = new Date(iso).getTime();
|
|
75
|
+
const diff = now - then;
|
|
76
|
+
if (diff < 60_000)
|
|
77
|
+
return "az önce";
|
|
78
|
+
if (diff < 3_600_000)
|
|
79
|
+
return `${Math.floor(diff / 60_000)} dk önce`;
|
|
80
|
+
if (diff < 86_400_000)
|
|
81
|
+
return `${Math.floor(diff / 3_600_000)} saat önce`;
|
|
82
|
+
return `${Math.floor(diff / 86_400_000)} gün önce`;
|
|
83
|
+
}
|
|
84
|
+
export function progressBar(percent, width = 24) {
|
|
85
|
+
const clamped = Math.max(0, Math.min(100, percent));
|
|
86
|
+
const filled = Math.round((clamped / 100) * width);
|
|
87
|
+
const empty = width - filled;
|
|
88
|
+
const bar = "█".repeat(filled) + "░".repeat(empty);
|
|
89
|
+
if (clamped >= 85)
|
|
90
|
+
return color.red(bar);
|
|
91
|
+
if (clamped >= 60)
|
|
92
|
+
return color.yellow(bar);
|
|
93
|
+
return color.green(bar);
|
|
94
|
+
}
|
|
95
|
+
export function indent(text, spaces = 2) {
|
|
96
|
+
const prefix = " ".repeat(spaces);
|
|
97
|
+
return text
|
|
98
|
+
.split("\n")
|
|
99
|
+
.map((line) => (line ? prefix + line : line))
|
|
100
|
+
.join("\n");
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=formatting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,GAAG,GAAG,SAAS,CAAC;AAEtB,SAAS,IAAI,CAAC,IAAY,EAAE,IAAY;IACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACpC,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;IAC9C,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;IAC/C,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;IAC9C,OAAO,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;IACjD,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;IAChD,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;CACd,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAA4C;IACtE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;IACtC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAClB,CAAC,CAAC,MAAM,EACR,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAC9C,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,OAAO;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;SAC5C,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACrE,CAAC;IACF,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAChF,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,EAAE,IAAI,CAAC;IAChC,IAAI,EAAE,GAAG,MAAM;QAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,GAAG,OAAO,MAAM,OAAO,GAAG,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;IACxB,IAAI,IAAI,GAAG,MAAM;QAAE,OAAO,SAAS,CAAC;IACpC,IAAI,IAAI,GAAG,SAAS;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;IACpE,IAAI,IAAI,GAAG,UAAU;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC;IAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,KAAK,GAAG,EAAE;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,OAAO,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,OAAO,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,MAAM,GAAG,CAAC;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AIGENCY CLI — basit logger.
|
|
3
|
+
*
|
|
4
|
+
* stdout'a insan dostu mesaj yazar. Debug mesajları sadece AIGENCY_CLI_DEBUG=1
|
|
5
|
+
* ortam değişkeni varsa görünür.
|
|
6
|
+
*
|
|
7
|
+
* Not: Dosya loglama Faz 4'te eklenecek (rotating file). Şimdilik sadece konsol.
|
|
8
|
+
*/
|
|
9
|
+
import { color, symbols } from "./formatting.js";
|
|
10
|
+
const DEBUG_ENABLED = process.env.AIGENCY_CLI_DEBUG === "1" ||
|
|
11
|
+
process.env.AIGENCY_CLI_DEBUG === "true";
|
|
12
|
+
export const log = {
|
|
13
|
+
info(message) {
|
|
14
|
+
process.stdout.write(`${color.cyan(symbols.info)} ${message}\n`);
|
|
15
|
+
},
|
|
16
|
+
success(message) {
|
|
17
|
+
process.stdout.write(`${color.green(symbols.tick)} ${message}\n`);
|
|
18
|
+
},
|
|
19
|
+
warn(message) {
|
|
20
|
+
process.stderr.write(`${color.yellow(symbols.warning)} ${message}\n`);
|
|
21
|
+
},
|
|
22
|
+
error(message) {
|
|
23
|
+
process.stderr.write(`${color.red(symbols.cross)} ${message}\n`);
|
|
24
|
+
},
|
|
25
|
+
dim(message) {
|
|
26
|
+
process.stdout.write(`${color.dim(message)}\n`);
|
|
27
|
+
},
|
|
28
|
+
plain(message) {
|
|
29
|
+
process.stdout.write(`${message}\n`);
|
|
30
|
+
},
|
|
31
|
+
debug(message) {
|
|
32
|
+
if (!DEBUG_ENABLED)
|
|
33
|
+
return;
|
|
34
|
+
process.stderr.write(`${color.gray(`[debug] ${message}`)}\n`);
|
|
35
|
+
},
|
|
36
|
+
hint(message) {
|
|
37
|
+
process.stdout.write(` ${color.dim(symbols.arrow)} ${color.dim(message)}\n`);
|
|
38
|
+
},
|
|
39
|
+
newline() {
|
|
40
|
+
process.stdout.write("\n");
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG;IACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;AAE3C,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,GAAG,CAAC,OAAe;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;QACL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AIGENCY CLI — sürüm sabiti.
|
|
3
|
+
*
|
|
4
|
+
* Bu dosya build sırasında otomatik güncellenir. Hard-code tutulmasının
|
|
5
|
+
* sebebi: compiled binary'de package.json okumaya gerek bırakmaz.
|
|
6
|
+
*/
|
|
7
|
+
export const CLI_VERSION = "0.1.0";
|
|
8
|
+
export const CLI_NAME = "aigency";
|
|
9
|
+
export const CLI_DISPLAY_NAME = "AIGENCY CLI";
|
|
10
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aigencydev/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "AIGENCY CLI — terminalden yapay zeka destekli kod üretimi, dosya yönetimi ve proje otomasyonu.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"aigency": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc -p tsconfig.json",
|
|
16
|
+
"clean": "node -e \"import('node:fs').then(fs => fs.rmSync('dist', { recursive: true, force: true }))\"",
|
|
17
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
18
|
+
"test": "vitest run",
|
|
19
|
+
"test:watch": "vitest",
|
|
20
|
+
"dev": "node --import tsx src/index.ts",
|
|
21
|
+
"start": "node dist/index.js",
|
|
22
|
+
"release": "node scripts/build-release.mjs",
|
|
23
|
+
"prepublishOnly": "npm run clean && npm run build && npm test"
|
|
24
|
+
},
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=18.18.0"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"commander": "^12.1.0",
|
|
30
|
+
"ink": "^5.0.1",
|
|
31
|
+
"ink-text-input": "^6.0.0",
|
|
32
|
+
"react": "^18.3.1",
|
|
33
|
+
"zod": "^3.23.8"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/node": "^20.14.0",
|
|
37
|
+
"@types/react": "^18.3.12",
|
|
38
|
+
"tsx": "^4.19.0",
|
|
39
|
+
"typescript": "^5.6.0",
|
|
40
|
+
"vitest": "^4.1.4"
|
|
41
|
+
},
|
|
42
|
+
"keywords": [
|
|
43
|
+
"aigency",
|
|
44
|
+
"cli",
|
|
45
|
+
"agent",
|
|
46
|
+
"terminal",
|
|
47
|
+
"codegen",
|
|
48
|
+
"ai",
|
|
49
|
+
"coding-assistant"
|
|
50
|
+
],
|
|
51
|
+
"homepage": "https://aigency.dev/forge",
|
|
52
|
+
"repository": {
|
|
53
|
+
"type": "git",
|
|
54
|
+
"url": "https://github.com/aigencydev/cli.git"
|
|
55
|
+
},
|
|
56
|
+
"bugs": {
|
|
57
|
+
"url": "https://aigency.dev/contact"
|
|
58
|
+
},
|
|
59
|
+
"author": "AIGENCY",
|
|
60
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
61
|
+
"publishConfig": {
|
|
62
|
+
"access": "public"
|
|
63
|
+
}
|
|
64
|
+
}
|