@thorrangonak/kanka 0.2.0 → 0.3.1
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 +51 -19
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/extensions/bilgi-komutlari.d.ts +10 -0
- package/dist/extensions/bilgi-komutlari.d.ts.map +1 -0
- package/dist/extensions/bilgi-komutlari.js +145 -0
- package/dist/extensions/bilgi-komutlari.js.map +1 -0
- package/dist/extensions/dusunce.d.ts +17 -0
- package/dist/extensions/dusunce.d.ts.map +1 -0
- package/dist/extensions/dusunce.js +83 -0
- package/dist/extensions/dusunce.js.map +1 -0
- package/dist/extensions/turkce-aliaslar.d.ts +21 -0
- package/dist/extensions/turkce-aliaslar.d.ts.map +1 -0
- package/dist/extensions/turkce-aliaslar.js +112 -0
- package/dist/extensions/turkce-aliaslar.js.map +1 -0
- package/dist/extensions/turkce-komutlar.d.ts +7 -8
- package/dist/extensions/turkce-komutlar.d.ts.map +1 -1
- package/dist/extensions/turkce-komutlar.js +93 -33
- package/dist/extensions/turkce-komutlar.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -95,31 +95,63 @@ Sonra konuş kanka'yla:
|
|
|
95
95
|
|
|
96
96
|
## Türkçe komutlar
|
|
97
97
|
|
|
98
|
-
Oturum içinde slash
|
|
98
|
+
Oturum içinde **35+ Türkçe slash komutu** kullanabilirsin:
|
|
99
99
|
|
|
100
|
-
###
|
|
100
|
+
### 📁 Temel
|
|
101
101
|
|
|
102
|
-
|
|
|
103
|
-
|
|
104
|
-
| `/yardım` |
|
|
105
|
-
| `/çık` |
|
|
106
|
-
| `/
|
|
107
|
-
| `/
|
|
108
|
-
| `/
|
|
109
|
-
| `/
|
|
110
|
-
| `/selam` |
|
|
102
|
+
| Komut | Açıklama |
|
|
103
|
+
|-------|----------|
|
|
104
|
+
| `/yardım` | Bu yardım listesi |
|
|
105
|
+
| `/çık` | Oturumdan çık |
|
|
106
|
+
| `/bilgi` | Kanka durum özeti (versiyon + model + thinking + ekip) |
|
|
107
|
+
| `/ekip` | Subagent ekibini listele |
|
|
108
|
+
| `/araçlar` | Aktif tool listesi |
|
|
109
|
+
| `/düşünce <seviye>` | Thinking level (kapat/min/düşük/orta/yüksek/max) |
|
|
110
|
+
| `/selam` | kanka'dan bir selam |
|
|
111
111
|
|
|
112
|
-
### Workflow
|
|
112
|
+
### 🔗 Workflow (chain pipeline)
|
|
113
113
|
|
|
114
114
|
| Komut | Pipeline |
|
|
115
115
|
|-------|----------|
|
|
116
|
-
| `/yap
|
|
117
|
-
| `/plan-yap
|
|
118
|
-
| `/yap-ve-incele
|
|
119
|
-
| `/debug
|
|
120
|
-
| `/refactor-incele
|
|
121
|
-
|
|
122
|
-
|
|
116
|
+
| `/yap <görev>` | kasif → planlayici → isci |
|
|
117
|
+
| `/plan-yap <görev>` | kasif → planlayici (sadece plan) |
|
|
118
|
+
| `/yap-ve-incele <görev>` | isci → gozden-geciren → isci |
|
|
119
|
+
| `/debug <bug>` | kasif → hata-avcisi |
|
|
120
|
+
| `/refactor-incele <hedef>` | kasif → refactorcu → gozden-geciren |
|
|
121
|
+
|
|
122
|
+
### 🗂️ Context yönetimi
|
|
123
|
+
|
|
124
|
+
| Türkçe | Pi orijinal | Açıklama |
|
|
125
|
+
|--------|-------------|----------|
|
|
126
|
+
| `/sıkıştır` / `/özet` | `/compact` | Context'i compact et |
|
|
127
|
+
| `/yenile` | `/reload` | Runtime'ı yeniden yükle |
|
|
128
|
+
|
|
129
|
+
### 💾 Oturum yönetimi
|
|
130
|
+
|
|
131
|
+
| Türkçe | Pi orijinal |
|
|
132
|
+
|--------|-------------|
|
|
133
|
+
| `/çatalla` | `/fork` |
|
|
134
|
+
| `/klonla` | `/clone` |
|
|
135
|
+
| `/devam` | `/resume` |
|
|
136
|
+
| `/ağaç` | `/tree` |
|
|
137
|
+
| `/isim` | `/name` |
|
|
138
|
+
| `/içeal` | `/import` |
|
|
139
|
+
| `/aktar` | `/export` |
|
|
140
|
+
| `/paylaş` | `/share` |
|
|
141
|
+
| `/kopyala` | `/copy` |
|
|
142
|
+
|
|
143
|
+
### 🔐 Auth & ayarlar
|
|
144
|
+
|
|
145
|
+
| Türkçe | Pi orijinal |
|
|
146
|
+
|--------|-------------|
|
|
147
|
+
| `/giriş` | `/login` |
|
|
148
|
+
| `/çıkış` | `/logout` |
|
|
149
|
+
| `/ayarlar` | `/settings` |
|
|
150
|
+
| `/kısayollar` | `/hotkeys` |
|
|
151
|
+
|
|
152
|
+
> Tüm Türkçe komutların **ASCII versiyonları** da var (`/sikistir`, `/cikis`, `/agac` vb.) — Cmd/PowerShell'de Türkçe karakter zor olursa kullan.
|
|
153
|
+
>
|
|
154
|
+
> Pi'nin orijinal İngilizce komutları da her zaman çalışır.
|
|
123
155
|
|
|
124
156
|
## CLI bayrakları
|
|
125
157
|
|
package/dist/cli.js
CHANGED
|
@@ -10,11 +10,14 @@ import * as path from "node:path";
|
|
|
10
10
|
import { fileURLToPath } from "node:url";
|
|
11
11
|
import { main } from "@earendil-works/pi-coding-agent";
|
|
12
12
|
import { printBanner } from "./banner.js";
|
|
13
|
+
import bilgiKomutlariExtension from "./extensions/bilgi-komutlari.js";
|
|
14
|
+
import dusunceExtension from "./extensions/dusunce.js";
|
|
15
|
+
import turkceAliaslarExtension from "./extensions/turkce-aliaslar.js";
|
|
13
16
|
import turkceKomutlarExtension from "./extensions/turkce-komutlar.js";
|
|
14
17
|
import turkceModExtension from "./extensions/turkce-mod.js";
|
|
15
18
|
import subagentExtension from "./subagent/index.js";
|
|
16
19
|
// package.json'dan versiyonu oku (build sırasında dist'e kopyalanacak)
|
|
17
|
-
const VERSION = "0.
|
|
20
|
+
const VERSION = "0.3.1";
|
|
18
21
|
/**
|
|
19
22
|
* Komut satırı argümanlarında yardım/versiyon istenmiş mi?
|
|
20
23
|
* Hem Türkçe (--yardım, --versiyon) hem İngilizce (--help, --version) bayrakları yakalar.
|
|
@@ -101,6 +104,9 @@ async function calistir() {
|
|
|
101
104
|
extensionFactories: [
|
|
102
105
|
turkceModExtension,
|
|
103
106
|
turkceKomutlarExtension,
|
|
107
|
+
turkceAliaslarExtension,
|
|
108
|
+
dusunceExtension,
|
|
109
|
+
bilgiKomutlariExtension,
|
|
104
110
|
subagentExtension,
|
|
105
111
|
],
|
|
106
112
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kanka-özel bilgi komutları
|
|
3
|
+
*
|
|
4
|
+
* /ekip — Kullanılabilir subagent ekibini listele
|
|
5
|
+
* /araçlar — Aktif tool listesi
|
|
6
|
+
* /bilgi — Kanka durum özeti (versiyon, model, thinking, tools, agents)
|
|
7
|
+
*/
|
|
8
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
9
|
+
export default function bilgiKomutlariExtension(pi: ExtensionAPI): void;
|
|
10
|
+
//# sourceMappingURL=bilgi-komutlari.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bilgi-komutlari.d.ts","sourceRoot":"","sources":["../../src/extensions/bilgi-komutlari.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AA0CpE,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,EAAE,YAAY,QAgH/D"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kanka-özel bilgi komutları
|
|
3
|
+
*
|
|
4
|
+
* /ekip — Kullanılabilir subagent ekibini listele
|
|
5
|
+
* /araçlar — Aktif tool listesi
|
|
6
|
+
* /bilgi — Kanka durum özeti (versiyon, model, thinking, tools, agents)
|
|
7
|
+
*/
|
|
8
|
+
import * as fs from "node:fs";
|
|
9
|
+
import * as path from "node:path";
|
|
10
|
+
import { fileURLToPath } from "node:url";
|
|
11
|
+
import { parseFrontmatter } from "@earendil-works/pi-coding-agent";
|
|
12
|
+
const KANKA_VERSION = "0.3.1";
|
|
13
|
+
/**
|
|
14
|
+
* Paket içindeki bundled-agents/ klasöründen agent meta bilgisini okur.
|
|
15
|
+
*/
|
|
16
|
+
function bundledAgentleriOku() {
|
|
17
|
+
try {
|
|
18
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
19
|
+
// dist/extensions/bilgi-komutlari.js → dist/bundled-agents/
|
|
20
|
+
const dizin = path.resolve(here, "..", "bundled-agents");
|
|
21
|
+
if (!fs.existsSync(dizin))
|
|
22
|
+
return [];
|
|
23
|
+
const dosyalar = fs.readdirSync(dizin).filter((f) => f.endsWith(".md"));
|
|
24
|
+
const agentlar = [];
|
|
25
|
+
for (const dosya of dosyalar) {
|
|
26
|
+
const icerik = fs.readFileSync(path.join(dizin, dosya), "utf-8");
|
|
27
|
+
const { frontmatter } = parseFrontmatter(icerik);
|
|
28
|
+
if (frontmatter.name && frontmatter.description) {
|
|
29
|
+
agentlar.push({
|
|
30
|
+
name: frontmatter.name,
|
|
31
|
+
description: frontmatter.description,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// İsme göre sırala (kanka'nın iş akışı sırası değil, alfabetik tutarlı liste)
|
|
36
|
+
agentlar.sort((a, b) => a.name.localeCompare(b.name, "tr"));
|
|
37
|
+
return agentlar;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export default function bilgiKomutlariExtension(pi) {
|
|
44
|
+
// /ekip — Subagent listesi
|
|
45
|
+
pi.registerCommand("ekip", {
|
|
46
|
+
description: "Kullanılabilir subagent ekibini listele",
|
|
47
|
+
handler: async (_args, ctx) => {
|
|
48
|
+
const agentlar = bundledAgentleriOku();
|
|
49
|
+
if (agentlar.length === 0) {
|
|
50
|
+
ctx.ui.notify("Henüz bundled agent yok kanka.", "warning");
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const satirlar = [
|
|
54
|
+
"",
|
|
55
|
+
"🤝 kanka ekibi — Kullanılabilir subagent'lar",
|
|
56
|
+
"─".repeat(60),
|
|
57
|
+
...agentlar.map((a) => ` ${a.name.padEnd(18)} — ${a.description}`),
|
|
58
|
+
"",
|
|
59
|
+
"Workflow komutları:",
|
|
60
|
+
" /yap <görev> kasif → planlayici → isci",
|
|
61
|
+
" /plan-yap <görev> kasif → planlayici",
|
|
62
|
+
" /yap-ve-incele <görev> isci → gozden-geciren → isci",
|
|
63
|
+
" /debug <bug> kasif → hata-avcisi",
|
|
64
|
+
" /refactor-incele <hedef> kasif → refactorcu → gozden-geciren",
|
|
65
|
+
"",
|
|
66
|
+
"Manuel çağırmak için: `delege` tool'unu kullan.",
|
|
67
|
+
"",
|
|
68
|
+
];
|
|
69
|
+
ctx.ui.notify(satirlar.join("\n"), "info");
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
// /araçlar — Tool listesi
|
|
73
|
+
pi.registerCommand("araçlar", {
|
|
74
|
+
description: "Aktif tool listesini göster",
|
|
75
|
+
handler: async (_args, ctx) => {
|
|
76
|
+
const tumToollar = pi.getAllTools();
|
|
77
|
+
const aktifIsimler = pi.getActiveTools();
|
|
78
|
+
const aktifSet = new Set(aktifIsimler);
|
|
79
|
+
const satirlar = ["", "🛠️ kanka araç listesi", "─".repeat(60)];
|
|
80
|
+
for (const tool of tumToollar) {
|
|
81
|
+
const isim = tool.name;
|
|
82
|
+
const aktif = aktifSet.has(isim) ? "✓" : "·";
|
|
83
|
+
const aciklama = typeof tool.description === "string"
|
|
84
|
+
? tool.description.slice(0, 60)
|
|
85
|
+
: "";
|
|
86
|
+
satirlar.push(` ${aktif} ${isim.padEnd(20)} ${aciklama}`);
|
|
87
|
+
}
|
|
88
|
+
satirlar.push("");
|
|
89
|
+
satirlar.push(`Toplam: ${tumToollar.length} araç, ${aktifIsimler.length} aktif`);
|
|
90
|
+
satirlar.push("Açma/kapama: pi config veya extension üzerinden.");
|
|
91
|
+
satirlar.push("");
|
|
92
|
+
ctx.ui.notify(satirlar.join("\n"), "info");
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
// ASCII alias
|
|
96
|
+
pi.registerCommand("araclar", {
|
|
97
|
+
description: "Aktif tool listesi (ASCII alias)",
|
|
98
|
+
handler: async (_args, ctx) => {
|
|
99
|
+
const tumToollar = pi.getAllTools();
|
|
100
|
+
const aktifIsimler = pi.getActiveTools();
|
|
101
|
+
const aktifSet = new Set(aktifIsimler);
|
|
102
|
+
const satirlar = ["", "kanka arac listesi", "─".repeat(50)];
|
|
103
|
+
for (const tool of tumToollar) {
|
|
104
|
+
const aktif = aktifSet.has(tool.name) ? "[+]" : "[ ]";
|
|
105
|
+
satirlar.push(` ${aktif} ${tool.name}`);
|
|
106
|
+
}
|
|
107
|
+
satirlar.push(`\nToplam: ${tumToollar.length}, aktif: ${aktifIsimler.length}\n`);
|
|
108
|
+
ctx.ui.notify(satirlar.join("\n"), "info");
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
// /bilgi — Durum özeti
|
|
112
|
+
pi.registerCommand("bilgi", {
|
|
113
|
+
description: "Kanka durum özetini göster (versiyon, model, thinking, ekip)",
|
|
114
|
+
handler: async (_args, ctx) => {
|
|
115
|
+
const thinking = pi.getThinkingLevel();
|
|
116
|
+
const model = ctx.model;
|
|
117
|
+
const aktifToollar = pi.getActiveTools();
|
|
118
|
+
const agentlar = bundledAgentleriOku();
|
|
119
|
+
const usage = ctx.getContextUsage?.();
|
|
120
|
+
const modelMetni = model
|
|
121
|
+
? `${model.provider ?? "?"}/${model.id ?? "?"}`
|
|
122
|
+
: "(seçilmedi — /giriş veya /model)";
|
|
123
|
+
const contextMetni = usage
|
|
124
|
+
? `${usage.tokens ?? "?"} / ${usage.contextWindow} token${usage.percent != null ? ` (${usage.percent.toFixed(0)}%)` : ""}`
|
|
125
|
+
: "(bilgi yok)";
|
|
126
|
+
const satirlar = [
|
|
127
|
+
"",
|
|
128
|
+
"📊 kanka — Durum özeti",
|
|
129
|
+
"─".repeat(60),
|
|
130
|
+
` Versiyon : v${KANKA_VERSION}`,
|
|
131
|
+
` Model : ${modelMetni}`,
|
|
132
|
+
` Düşünce : ${thinking}`,
|
|
133
|
+
` Aktif araçlar : ${aktifToollar.length} (${aktifToollar.join(", ")})`,
|
|
134
|
+
` Bundled agent : ${agentlar.length} (${agentlar.map((a) => a.name).join(", ")})`,
|
|
135
|
+
` Context kullanım: ${contextMetni}`,
|
|
136
|
+
` CWD : ${ctx.cwd}`,
|
|
137
|
+
"",
|
|
138
|
+
"Daha fazlası: /ekip, /araçlar, /düşünce, /model, /yardım",
|
|
139
|
+
"",
|
|
140
|
+
];
|
|
141
|
+
ctx.ui.notify(satirlar.join("\n"), "info");
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=bilgi-komutlari.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bilgi-komutlari.js","sourceRoot":"","sources":["../../src/extensions/bilgi-komutlari.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* /düşünce komutu — thinking level'ı Türkçe seçim/değiştirme
|
|
3
|
+
*
|
|
4
|
+
* Kullanım:
|
|
5
|
+
* /düşünce — mevcut level'ı göster
|
|
6
|
+
* /düşünce kapat — off
|
|
7
|
+
* /düşünce minimal — minimal
|
|
8
|
+
* /düşünce düşük — low
|
|
9
|
+
* /düşünce orta — medium
|
|
10
|
+
* /düşünce yüksek — high
|
|
11
|
+
* /düşünce max — xhigh
|
|
12
|
+
*
|
|
13
|
+
* Pi'nin default kısayolu: Shift+Tab (cycle)
|
|
14
|
+
*/
|
|
15
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
16
|
+
export default function dusunceExtension(pi: ExtensionAPI): void;
|
|
17
|
+
//# sourceMappingURL=dusunce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dusunce.d.ts","sourceRoot":"","sources":["../../src/extensions/dusunce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAoCpE,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,EAAE,YAAY,QAwDxD"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* /düşünce komutu — thinking level'ı Türkçe seçim/değiştirme
|
|
3
|
+
*
|
|
4
|
+
* Kullanım:
|
|
5
|
+
* /düşünce — mevcut level'ı göster
|
|
6
|
+
* /düşünce kapat — off
|
|
7
|
+
* /düşünce minimal — minimal
|
|
8
|
+
* /düşünce düşük — low
|
|
9
|
+
* /düşünce orta — medium
|
|
10
|
+
* /düşünce yüksek — high
|
|
11
|
+
* /düşünce max — xhigh
|
|
12
|
+
*
|
|
13
|
+
* Pi'nin default kısayolu: Shift+Tab (cycle)
|
|
14
|
+
*/
|
|
15
|
+
const SEVIYELER = [
|
|
16
|
+
{ turkce: ["kapat", "kapali", "kapalı", "off", "yok"], pi: "off", gosterim: "kapalı" },
|
|
17
|
+
{ turkce: ["minimal", "min"], pi: "minimal", gosterim: "minimal" },
|
|
18
|
+
{ turkce: ["düşük", "dusuk", "low", "az"], pi: "low", gosterim: "düşük" },
|
|
19
|
+
{ turkce: ["orta", "medium", "med"], pi: "medium", gosterim: "orta" },
|
|
20
|
+
{ turkce: ["yüksek", "yuksek", "high", "çok"], pi: "high", gosterim: "yüksek" },
|
|
21
|
+
{ turkce: ["max", "xhigh", "ekstra", "en-yüksek", "en-yuksek"], pi: "xhigh", gosterim: "maksimum" },
|
|
22
|
+
];
|
|
23
|
+
const TURKCE_GOSTERIM = {
|
|
24
|
+
off: "kapalı",
|
|
25
|
+
minimal: "minimal",
|
|
26
|
+
low: "düşük",
|
|
27
|
+
medium: "orta",
|
|
28
|
+
high: "yüksek",
|
|
29
|
+
xhigh: "maksimum",
|
|
30
|
+
};
|
|
31
|
+
function seviyeBul(input) {
|
|
32
|
+
const temiz = input.trim().toLowerCase();
|
|
33
|
+
for (const s of SEVIYELER) {
|
|
34
|
+
if (s.turkce.includes(temiz))
|
|
35
|
+
return s.pi;
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
export default function dusunceExtension(pi) {
|
|
40
|
+
pi.registerCommand("düşünce", {
|
|
41
|
+
description: "Thinking level'ı Türkçe yönet (kapat/min/düşük/orta/yüksek/max)",
|
|
42
|
+
handler: async (args, ctx) => {
|
|
43
|
+
const arg = args?.trim();
|
|
44
|
+
// Argüman yoksa mevcut seviyeyi göster
|
|
45
|
+
if (!arg) {
|
|
46
|
+
const mevcut = pi.getThinkingLevel();
|
|
47
|
+
const turkce = TURKCE_GOSTERIM[mevcut];
|
|
48
|
+
const secenekler = "kapat | minimal | düşük | orta | yüksek | max";
|
|
49
|
+
ctx.ui.notify(`Mevcut düşünce seviyesi: ${turkce} (${mevcut})\n\nDeğiştirmek için: /düşünce <${secenekler}>`, "info");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
// Argüman var, seviyeyi değiştir
|
|
53
|
+
const yeniSeviye = seviyeBul(arg);
|
|
54
|
+
if (!yeniSeviye) {
|
|
55
|
+
ctx.ui.notify(`Bilmediğim bir seviye: "${arg}".\nGeçerli: kapat, minimal, düşük, orta, yüksek, max`, "error");
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
pi.setThinkingLevel(yeniSeviye);
|
|
59
|
+
ctx.ui.notify(`Düşünce seviyesi: ${TURKCE_GOSTERIM[yeniSeviye]} (${yeniSeviye}) ✓`, "info");
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
// ASCII alias
|
|
63
|
+
pi.registerCommand("dusunce", {
|
|
64
|
+
description: "Thinking level'ı yönet (ASCII alias)",
|
|
65
|
+
handler: async (args, ctx) => {
|
|
66
|
+
// Aynı handler'ı tekrar çağır
|
|
67
|
+
const arg = args?.trim();
|
|
68
|
+
if (!arg) {
|
|
69
|
+
const mevcut = pi.getThinkingLevel();
|
|
70
|
+
ctx.ui.notify(`Mevcut: ${TURKCE_GOSTERIM[mevcut]} (${mevcut})\nDegistir: /dusunce <kapat|min|dusuk|orta|yuksek|max>`, "info");
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const yeni = seviyeBul(arg);
|
|
74
|
+
if (!yeni) {
|
|
75
|
+
ctx.ui.notify(`Bilinmeyen seviye: ${arg}`, "error");
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
pi.setThinkingLevel(yeni);
|
|
79
|
+
ctx.ui.notify(`Dusunce: ${TURKCE_GOSTERIM[yeni]} (${yeni})`, "info");
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=dusunce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dusunce.js","sourceRoot":"","sources":["../../src/extensions/dusunce.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Türkçe Slash Komut Alias Extension
|
|
3
|
+
*
|
|
4
|
+
* İki kategoride alias sağlıyoruz:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Gerçek alias'lar (Tier 1)** — Extension API üzerinden direkt action çağrılır:
|
|
7
|
+
* /sıkıştır, /özet → ctx.compact()
|
|
8
|
+
* /yenile → ctx.reload()
|
|
9
|
+
* /yeni → ctx.newSession()
|
|
10
|
+
*
|
|
11
|
+
* 2. **Yönlendirici alias'lar (Tier 2)** — Pi'nin TUI seviyesi komutlarına
|
|
12
|
+
* extension API'den erişilemiyor (login, settings, fork, copy vb.). Bu komutlar
|
|
13
|
+
* çağrılınca kullanıcıyı pi'nin orijinal komutuna yönlendiriyoruz.
|
|
14
|
+
*
|
|
15
|
+
* Not: Pi'nin slash komut parser'ı `emitInput`'tan ÖNCE çalıştığı için, sadece
|
|
16
|
+
* text transform yapan bir alias çalışmıyor — bu yüzden kanka kendi extension
|
|
17
|
+
* komutlarını `registerCommand` ile kayıt ediyor ve action'ları manuel tetikliyor.
|
|
18
|
+
*/
|
|
19
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
20
|
+
export default function turkceAliaslarExtension(pi: ExtensionAPI): void;
|
|
21
|
+
//# sourceMappingURL=turkce-aliaslar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turkce-aliaslar.d.ts","sourceRoot":"","sources":["../../src/extensions/turkce-aliaslar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AAyC7F,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,EAAE,YAAY,QAyE/D"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Türkçe Slash Komut Alias Extension
|
|
3
|
+
*
|
|
4
|
+
* İki kategoride alias sağlıyoruz:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Gerçek alias'lar (Tier 1)** — Extension API üzerinden direkt action çağrılır:
|
|
7
|
+
* /sıkıştır, /özet → ctx.compact()
|
|
8
|
+
* /yenile → ctx.reload()
|
|
9
|
+
* /yeni → ctx.newSession()
|
|
10
|
+
*
|
|
11
|
+
* 2. **Yönlendirici alias'lar (Tier 2)** — Pi'nin TUI seviyesi komutlarına
|
|
12
|
+
* extension API'den erişilemiyor (login, settings, fork, copy vb.). Bu komutlar
|
|
13
|
+
* çağrılınca kullanıcıyı pi'nin orijinal komutuna yönlendiriyoruz.
|
|
14
|
+
*
|
|
15
|
+
* Not: Pi'nin slash komut parser'ı `emitInput`'tan ÖNCE çalıştığı için, sadece
|
|
16
|
+
* text transform yapan bir alias çalışmıyor — bu yüzden kanka kendi extension
|
|
17
|
+
* komutlarını `registerCommand` ile kayıt ediyor ve action'ları manuel tetikliyor.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Pi'nin TUI seviyesi komutları — extension'dan tetiklenemez.
|
|
21
|
+
* Kullanıcıya orijinal komutu hatırlat.
|
|
22
|
+
*/
|
|
23
|
+
const YONLENDIRME_ALIASLARI = [
|
|
24
|
+
{ turkce: "çatalla", piKomut: "/fork", aciklama: "Oturumu fork et" },
|
|
25
|
+
{ turkce: "catalla", piKomut: "/fork", aciklama: "Oturumu fork et" },
|
|
26
|
+
{ turkce: "klonla", piKomut: "/clone", aciklama: "Oturumu klonla" },
|
|
27
|
+
{ turkce: "devam", piKomut: "/resume", aciklama: "Bir oturumdan devam et" },
|
|
28
|
+
{ turkce: "ağaç", piKomut: "/tree", aciklama: "Oturum ağacını göster" },
|
|
29
|
+
{ turkce: "agac", piKomut: "/tree", aciklama: "Oturum ağacı" },
|
|
30
|
+
{ turkce: "isim", piKomut: "/name", aciklama: "Mevcut oturumu adlandır" },
|
|
31
|
+
{ turkce: "içeal", piKomut: "/import", aciklama: "Oturum dosyası içe al" },
|
|
32
|
+
{ turkce: "iceal", piKomut: "/import", aciklama: "Oturum içe al" },
|
|
33
|
+
{ turkce: "aktar", piKomut: "/export", aciklama: "Oturumu HTML'e aktar" },
|
|
34
|
+
{ turkce: "dışaver", piKomut: "/export", aciklama: "HTML'e aktar" },
|
|
35
|
+
{ turkce: "disaver", piKomut: "/export", aciklama: "HTML'e aktar" },
|
|
36
|
+
{ turkce: "paylaş", piKomut: "/share", aciklama: "Oturumu paylaş" },
|
|
37
|
+
{ turkce: "paylas", piKomut: "/share", aciklama: "Oturumu paylaş" },
|
|
38
|
+
{ turkce: "kopyala", piKomut: "/copy", aciklama: "Son asistan mesajını kopyala" },
|
|
39
|
+
{ turkce: "giriş", piKomut: "/login", aciklama: "Provider'a giriş yap" },
|
|
40
|
+
{ turkce: "giris", piKomut: "/login", aciklama: "Provider'a giriş" },
|
|
41
|
+
{ turkce: "çıkış", piKomut: "/logout", aciklama: "Provider'dan çıkış" },
|
|
42
|
+
{ turkce: "cikis", piKomut: "/logout", aciklama: "Provider'dan çıkış" },
|
|
43
|
+
{ turkce: "ayarlar", piKomut: "/settings", aciklama: "Ayarlar TUI'sini aç" },
|
|
44
|
+
{ turkce: "kısayollar", piKomut: "/hotkeys", aciklama: "Klavye kısayolları" },
|
|
45
|
+
{ turkce: "kisayollar", piKomut: "/hotkeys", aciklama: "Klavye kısayolları" },
|
|
46
|
+
{ turkce: "değişiklikler", piKomut: "/changelog", aciklama: "Pi changelog'u" },
|
|
47
|
+
{ turkce: "degisiklikler", piKomut: "/changelog", aciklama: "Pi changelog" },
|
|
48
|
+
{ turkce: "hata-ayıkla", piKomut: "/debug", aciklama: "Debug bilgisi" },
|
|
49
|
+
{ turkce: "hata-ayikla", piKomut: "/debug", aciklama: "Debug bilgisi" },
|
|
50
|
+
];
|
|
51
|
+
export default function turkceAliaslarExtension(pi) {
|
|
52
|
+
// ───────────────────────────────────────────────
|
|
53
|
+
// TIER 1: Gerçek alias'lar (action API üzerinden)
|
|
54
|
+
// ───────────────────────────────────────────────
|
|
55
|
+
const sikistirHandler = async (args, ctx) => {
|
|
56
|
+
const ozelTalimat = args?.trim() || undefined;
|
|
57
|
+
ctx.ui.notify(ozelTalimat
|
|
58
|
+
? `Context sıkıştırılıyor (özel talimat: "${ozelTalimat}")...`
|
|
59
|
+
: "Context sıkıştırılıyor...", "info");
|
|
60
|
+
ctx.compact({ customInstructions: ozelTalimat });
|
|
61
|
+
};
|
|
62
|
+
pi.registerCommand("sıkıştır", {
|
|
63
|
+
description: "Context'i sıkıştır (compact). İsteğe bağlı: özel özet talimatı.",
|
|
64
|
+
handler: sikistirHandler,
|
|
65
|
+
});
|
|
66
|
+
pi.registerCommand("sikistir", {
|
|
67
|
+
description: "Context'i sıkıştır (ASCII)",
|
|
68
|
+
handler: sikistirHandler,
|
|
69
|
+
});
|
|
70
|
+
pi.registerCommand("özet", {
|
|
71
|
+
description: "Context'i sıkıştır (alias: /sıkıştır)",
|
|
72
|
+
handler: sikistirHandler,
|
|
73
|
+
});
|
|
74
|
+
pi.registerCommand("ozet", {
|
|
75
|
+
description: "Context'i sıkıştır (ASCII)",
|
|
76
|
+
handler: sikistirHandler,
|
|
77
|
+
});
|
|
78
|
+
pi.registerCommand("yenile", {
|
|
79
|
+
description: "Runtime'ı yeniden yükle (config + extension)",
|
|
80
|
+
handler: async (_args, ctx) => {
|
|
81
|
+
ctx.ui.notify("Runtime yeniden yükleniyor...", "info");
|
|
82
|
+
await ctx.reload();
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
pi.registerCommand("yeniden-yukle", {
|
|
86
|
+
description: "Runtime'ı yeniden yükle (ASCII alias)",
|
|
87
|
+
handler: async (_args, ctx) => {
|
|
88
|
+
ctx.ui.notify("Runtime yeniden yukleniyor...", "info");
|
|
89
|
+
await ctx.reload();
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
pi.registerCommand("yeni-oturum", {
|
|
93
|
+
description: "Yeni oturum başlat",
|
|
94
|
+
handler: async (_args, ctx) => {
|
|
95
|
+
ctx.ui.notify("Yeni oturum başlatılıyor...", "info");
|
|
96
|
+
await ctx.newSession();
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
// ───────────────────────────────────────────────
|
|
100
|
+
// TIER 2: Yönlendirici alias'lar
|
|
101
|
+
// (Pi TUI'sine erişim yok, kullanıcıyı orijinal komuta yönlendir)
|
|
102
|
+
// ───────────────────────────────────────────────
|
|
103
|
+
for (const alias of YONLENDIRME_ALIASLARI) {
|
|
104
|
+
pi.registerCommand(alias.turkce, {
|
|
105
|
+
description: `${alias.aciklama} (kanka: ${alias.piKomut} yaz)`,
|
|
106
|
+
handler: async (_args, ctx) => {
|
|
107
|
+
ctx.ui.notify(`Bu komut için pi'nin yerel komutu lazım kanka:\n ${alias.piKomut}\n\n(Pi TUI seviyesi komutlar extension'lardan tetiklenemiyor.\nYazıp Enter'a bas, aynı işi yapar.)`, "info");
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=turkce-aliaslar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turkce-aliaslar.js","sourceRoot":"","sources":["../../src/extensions/turkce-aliaslar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Türkçe Komutlar Extension
|
|
2
|
+
* Türkçe Komutlar Extension — /yardım, /çık, /selam ve diğerleri
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* her zaman çalışmaya devam eder.
|
|
4
|
+
* Pi'nin orijinal slash komutlarına Türkçe alias'lar TURKCE_ALIASLAR
|
|
5
|
+
* extension'ında. Bu extension sadece:
|
|
6
|
+
* - /yardım — kapsamlı yardım metni
|
|
7
|
+
* - /çık — graceful shutdown
|
|
8
|
+
* - /selam — paskalya yumurtası
|
|
9
|
+
* - /yeni, /temizle, /durum vb. — pi'de direkt yok, manuel implement
|
|
11
10
|
*/
|
|
12
11
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
13
12
|
export default function turkceKomutlarExtension(pi: ExtensionAPI): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turkce-komutlar.d.ts","sourceRoot":"","sources":["../../src/extensions/turkce-komutlar.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"turkce-komutlar.d.ts","sourceRoot":"","sources":["../../src/extensions/turkce-komutlar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AA+DpE,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,EAAE,YAAY,QAmF/D"}
|
|
@@ -1,52 +1,110 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Türkçe Komutlar Extension
|
|
2
|
+
* Türkçe Komutlar Extension — /yardım, /çık, /selam ve diğerleri
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* her zaman çalışmaya devam eder.
|
|
4
|
+
* Pi'nin orijinal slash komutlarına Türkçe alias'lar TURKCE_ALIASLAR
|
|
5
|
+
* extension'ında. Bu extension sadece:
|
|
6
|
+
* - /yardım — kapsamlı yardım metni
|
|
7
|
+
* - /çık — graceful shutdown
|
|
8
|
+
* - /selam — paskalya yumurtası
|
|
9
|
+
* - /yeni, /temizle, /durum vb. — pi'de direkt yok, manuel implement
|
|
11
10
|
*/
|
|
12
|
-
const
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
const YARDIM_BOLUMLERI = [
|
|
12
|
+
{
|
|
13
|
+
baslik: "📋 Temel komutlar",
|
|
14
|
+
komutlar: [
|
|
15
|
+
{ turkce: "/yardım", aciklama: "Bu yardım metnini göster" },
|
|
16
|
+
{ turkce: "/çık", pi: "/exit", aciklama: "Oturumdan çık" },
|
|
17
|
+
{ turkce: "/selam", aciklama: "kanka'dan bir selam" },
|
|
18
|
+
{ turkce: "/bilgi", aciklama: "Kanka durum özeti (versiyon, model, ekip)" },
|
|
19
|
+
{ turkce: "/ekip", aciklama: "Subagent ekibini listele" },
|
|
20
|
+
{ turkce: "/araçlar", aciklama: "Aktif tool listesini göster" },
|
|
21
|
+
{ turkce: "/düşünce", aciklama: "Thinking level'ı yönet" },
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
baslik: "🔗 Workflow komutları (chain pipeline)",
|
|
26
|
+
komutlar: [
|
|
27
|
+
{ turkce: "/yap <görev>", aciklama: "kasif → planlayici → isci (tam uygulama)" },
|
|
28
|
+
{ turkce: "/plan-yap <görev>", aciklama: "kasif → planlayici (sadece plan)" },
|
|
29
|
+
{ turkce: "/yap-ve-incele <görev>", aciklama: "isci → gozden-geciren → isci" },
|
|
30
|
+
{ turkce: "/debug <bug>", aciklama: "kasif → hata-avcisi (root cause)" },
|
|
31
|
+
{ turkce: "/refactor-incele <hedef>", aciklama: "kasif → refactorcu → gozden-geciren" },
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
baslik: "🗂️ Context yönetimi",
|
|
36
|
+
komutlar: [
|
|
37
|
+
{ turkce: "/sıkıştır", pi: "/compact", aciklama: "Context'i compact et (eskileri özetle)" },
|
|
38
|
+
{ turkce: "/özet", pi: "/compact", aciklama: "Context'i compact et (alias)" },
|
|
39
|
+
{ turkce: "/yenile", pi: "/reload", aciklama: "Runtime'ı yeniden yükle" },
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
baslik: "💾 Oturum yönetimi",
|
|
44
|
+
komutlar: [
|
|
45
|
+
{ turkce: "/çatalla", pi: "/fork", aciklama: "Mevcut oturumu fork et" },
|
|
46
|
+
{ turkce: "/klonla", pi: "/clone", aciklama: "Oturumu klonla" },
|
|
47
|
+
{ turkce: "/devam", pi: "/resume", aciklama: "Bir oturumdan devam et" },
|
|
48
|
+
{ turkce: "/ağaç", pi: "/tree", aciklama: "Oturum ağacını göster" },
|
|
49
|
+
{ turkce: "/isim", pi: "/name", aciklama: "Mevcut oturumu adlandır" },
|
|
50
|
+
{ turkce: "/içeal", pi: "/import", aciklama: "Oturum dosyası içe al" },
|
|
51
|
+
{ turkce: "/aktar", pi: "/export", aciklama: "Oturumu HTML'e aktar" },
|
|
52
|
+
{ turkce: "/paylaş", pi: "/share", aciklama: "Oturumu paylaş" },
|
|
53
|
+
{ turkce: "/kopyala", pi: "/copy", aciklama: "Son mesajı kopyala" },
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
baslik: "🔐 Auth & ayarlar",
|
|
58
|
+
komutlar: [
|
|
59
|
+
{ turkce: "/giriş", pi: "/login", aciklama: "Provider'a giriş yap" },
|
|
60
|
+
{ turkce: "/çıkış", pi: "/logout", aciklama: "Provider'dan çıkış" },
|
|
61
|
+
{ turkce: "/ayarlar", pi: "/settings", aciklama: "Ayarlar TUI'sini aç" },
|
|
62
|
+
{ turkce: "/kısayollar", pi: "/hotkeys", aciklama: "Klavye kısayolları" },
|
|
63
|
+
],
|
|
64
|
+
},
|
|
20
65
|
];
|
|
21
66
|
export default function turkceKomutlarExtension(pi) {
|
|
22
|
-
// /yardım —
|
|
67
|
+
// /yardım — kapsamlı yardım menüsü
|
|
23
68
|
pi.registerCommand("yardım", {
|
|
24
69
|
description: "Komut listesini Türkçe göster",
|
|
25
70
|
handler: async (_args, ctx) => {
|
|
26
71
|
const satirlar = [
|
|
27
72
|
"",
|
|
28
73
|
"kanka — Türkçe komut listesi",
|
|
29
|
-
"
|
|
30
|
-
...YARDIM_LISTESI.map((k) => ` ${k.turkce.padEnd(12)} (${k.orijinal.padEnd(10)}) — ${k.aciklama}`),
|
|
31
|
-
"",
|
|
32
|
-
"Pi'nin orijinal İngilizce komutları da çalışır.",
|
|
33
|
-
"Bir şey yazmak için Enter'a bas, çıkmak için Ctrl+C.",
|
|
34
|
-
"",
|
|
74
|
+
"═".repeat(60),
|
|
35
75
|
];
|
|
76
|
+
for (const bolum of YARDIM_BOLUMLERI) {
|
|
77
|
+
satirlar.push("");
|
|
78
|
+
satirlar.push(bolum.baslik);
|
|
79
|
+
satirlar.push("─".repeat(60));
|
|
80
|
+
for (const k of bolum.komutlar) {
|
|
81
|
+
const sol = k.turkce.padEnd(28);
|
|
82
|
+
const ek = k.pi ? ` (${k.pi})` : "";
|
|
83
|
+
satirlar.push(` ${sol}${ek}`);
|
|
84
|
+
satirlar.push(` ${k.aciklama}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
satirlar.push("");
|
|
88
|
+
satirlar.push("─".repeat(60));
|
|
89
|
+
satirlar.push("Pi'nin orijinal İngilizce komutları (/compact, /fork vb.) da çalışır.");
|
|
90
|
+
satirlar.push("Detay: https://github.com/thorrangonak/kanka");
|
|
91
|
+
satirlar.push("");
|
|
36
92
|
ctx.ui.notify(satirlar.join("\n"), "info");
|
|
37
93
|
},
|
|
38
94
|
});
|
|
39
|
-
// ASCII
|
|
95
|
+
// ASCII alias
|
|
40
96
|
pi.registerCommand("yardim", {
|
|
41
|
-
description: "Komut
|
|
97
|
+
description: "Komut listesi (ASCII alias)",
|
|
42
98
|
handler: async (_args, ctx) => {
|
|
43
|
-
const satirlar = [
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
99
|
+
const satirlar = ["", "kanka — Komut listesi (ASCII)", "─".repeat(50)];
|
|
100
|
+
for (const bolum of YARDIM_BOLUMLERI) {
|
|
101
|
+
satirlar.push("");
|
|
102
|
+
satirlar.push(bolum.baslik.replace(/[^\x00-\x7F]/g, "").trim());
|
|
103
|
+
for (const k of bolum.komutlar) {
|
|
104
|
+
satirlar.push(` ${k.turkce.padEnd(24)} ${k.aciklama}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
satirlar.push("");
|
|
50
108
|
ctx.ui.notify(satirlar.join("\n"), "info");
|
|
51
109
|
},
|
|
52
110
|
});
|
|
@@ -61,7 +119,7 @@ export default function turkceKomutlarExtension(pi) {
|
|
|
61
119
|
pi.registerCommand("cik", {
|
|
62
120
|
description: "kanka'dan çık (ASCII)",
|
|
63
121
|
handler: async (_args, ctx) => {
|
|
64
|
-
ctx.ui.notify("
|
|
122
|
+
ctx.ui.notify("Gorusmek uzere kanka!", "info");
|
|
65
123
|
ctx.shutdown();
|
|
66
124
|
},
|
|
67
125
|
});
|
|
@@ -74,6 +132,8 @@ export default function turkceKomutlarExtension(pi) {
|
|
|
74
132
|
"Naber kanka, hazırım.",
|
|
75
133
|
"Eyvallah kanka, dinliyorum.",
|
|
76
134
|
"Selam selam, ne yapalım?",
|
|
135
|
+
"Buradayım kanka, söyle.",
|
|
136
|
+
"Hadi başlayalım kanka.",
|
|
77
137
|
];
|
|
78
138
|
const secilen = mesajlar[Math.floor(Math.random() * mesajlar.length)];
|
|
79
139
|
ctx.ui.notify(secilen, "info");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turkce-komutlar.js","sourceRoot":"","sources":["../../src/extensions/turkce-komutlar.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"turkce-komutlar.js","sourceRoot":"","sources":["../../src/extensions/turkce-komutlar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,MAAM,gBAAgB,GAAmB;IACxC;QACC,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE;YACT,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,0BAA0B,EAAE;YAC3D,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;YAC1D,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,EAAE;YACrD,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,2CAA2C,EAAE;YAC3E,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,0BAA0B,EAAE;YACzD,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,6BAA6B,EAAE;YAC/D,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,wBAAwB,EAAE;SAC1D;KACD;IACD;QACC,MAAM,EAAE,wCAAwC;QAChD,QAAQ,EAAE;YACT,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,0CAA0C,EAAE;YAChF,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,kCAAkC,EAAE;YAC7E,EAAE,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,8BAA8B,EAAE;YAC9E,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,kCAAkC,EAAE;YACxE,EAAE,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,qCAAqC,EAAE;SACvF;KACD;IACD;QACC,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE;YACT,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,wCAAwC,EAAE;YAC3F,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,8BAA8B,EAAE;YAC7E,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,yBAAyB,EAAE;SACzE;KACD;IACD;QACC,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE;YACT,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE;YACvE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE;YAC/D,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,wBAAwB,EAAE;YACvE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE;YACnE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE;YACrE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,uBAAuB,EAAE;YACtE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB,EAAE;YACrE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE;YAC/D,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE;SACnE;KACD;IACD;QACC,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE;YACT,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,sBAAsB,EAAE;YACpE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YACnE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,qBAAqB,EAAE;YACxE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE;SACzE;KACD;CACD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAgB;IAC/D,mCAAmC;IACnC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE;QAC5B,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAa;gBAC1B,EAAE;gBACF,8BAA8B;gBAC9B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;aACd,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAChC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAChC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACvF,QAAQ,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAElB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;KACD,CAAC,CAAC;IAEH,cAAc;IACd,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE;QAC5B,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,+BAA+B,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzD,CAAC;YACF,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;KACD,CAAC,CAAC;IAEH,2BAA2B;IAC3B,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE;QACzB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;YAClD,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChB,CAAC;KACD,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE;QACzB,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAC/C,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChB,CAAC;KACD,CAAC,CAAC;IAEH,8BAA8B;IAC9B,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE;QAC3B,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG;gBAChB,wBAAwB;gBACxB,uBAAuB;gBACvB,6BAA6B;gBAC7B,0BAA0B;gBAC1B,yBAAyB;gBACzB,wBAAwB;aACxB,CAAC;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAE,CAAC;YACvE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
|