@appaflytech/zeyrek-ai-mcp 0.0.5 → 0.0.7
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/.env.example +2 -2
- package/.env.production.example +9 -1
- package/README.md +14 -38
- package/dist/config.js +36 -3
- package/dist/knowledge/backendConstraints.js +982 -0
- package/dist/knowledge/componentCatalog.js +549 -92
- package/dist/knowledge/componentEvents.js +120 -25
- package/dist/knowledge/coverage.js +43 -0
- package/dist/knowledge/flowGuards.js +30 -0
- package/dist/knowledge/functionGuards.js +134 -0
- package/dist/knowledge/guideSections.js +49 -0
- package/dist/knowledge/hydrate.js +97 -0
- package/dist/knowledge/languageCodes.js +36 -0
- package/dist/knowledge/languages.js +105 -0
- package/dist/knowledge/layoutSummary.js +10 -0
- package/dist/knowledge/localization.js +51 -0
- package/dist/knowledge/normalize.js +500 -16
- package/dist/knowledge/outlines.js +167 -12
- package/dist/knowledge/policy.js +14 -5
- package/dist/knowledge/propTypes.js +80 -0
- package/dist/knowledge/rules.js +961 -44
- package/dist/knowledge/schemaGuard.js +199 -0
- package/dist/knowledge/styleResolve.js +63 -4
- package/dist/observability/trace.js +27 -3
- package/dist/platform/csv.js +123 -0
- package/dist/platform/errors.js +107 -6
- package/dist/platform/http.js +34 -4
- package/dist/platform/patch.js +27 -0
- package/dist/platform/refs.js +104 -0
- package/dist/platform/responses.js +25 -6
- package/dist/platform/screenshot.js +544 -16
- package/dist/platform/secrets.js +40 -0
- package/dist/platform/tokenVault.js +89 -0
- package/dist/platform/writeDiff.js +281 -0
- package/dist/resources/examples/flow-call-function.json +66 -0
- package/dist/resources/examples/function-total.json +70 -0
- package/dist/resources/examples/layout-app-shell.json +1 -1
- package/dist/resources/examples/microfunction-node-sum.json +56 -0
- package/dist/resources/examples/microservice-table-list.json +2 -4
- package/dist/resources/examples/page-dynamic-form.json +3 -3
- package/dist/resources/examples/page-flex-sections.json +99 -0
- package/dist/resources/examples/page-sign-in.json +4 -3
- package/dist/resources/guides/component.md +81 -8
- package/dist/resources/guides/entity.md +712 -20
- package/dist/resources/guides/expressions.md +47 -2
- package/dist/resources/guides/external-component.md +9 -0
- package/dist/resources/guides/functions.md +262 -0
- package/dist/resources/guides/getting-started.md +82 -7
- package/dist/resources/guides/layout.md +53 -10
- package/dist/resources/guides/merge.md +231 -0
- package/dist/resources/guides/microfunction.md +166 -0
- package/dist/resources/guides/microservice.md +287 -15
- package/dist/resources/guides/middleware.md +89 -1
- package/dist/resources/guides/modify-existing.md +23 -0
- package/dist/resources/guides/page.md +402 -49
- package/dist/resources/guides/translation.md +150 -8
- package/dist/resources/guides/view.md +16 -1
- package/dist/resources/guides/workflow.md +199 -28
- package/dist/resources/knowledge.js +5 -0
- package/dist/resources/rules.js +27 -0
- package/dist/resources/schema-fingerprint.json +8 -0
- package/dist/resources/schemas/AnalyzeImportQuery.json +51 -0
- package/dist/resources/schemas/ApplyMergePlanCommand.json +19 -0
- package/dist/resources/schemas/CreateBulkRowCommand.json +36 -0
- package/dist/resources/schemas/CreateDatasourceCommand.json +15 -6
- package/dist/resources/schemas/CreateDiscoveredEntitiesCommand.json +19 -8
- package/dist/resources/schemas/CreateEntityCommand.json +52 -12
- package/dist/resources/schemas/CreateEnvironmentCommand.json +31 -0
- package/dist/resources/schemas/CreateGlobalFunctionCommand.json +95 -0
- package/dist/resources/schemas/CreateImportPlanCommand.json +278 -0
- package/dist/resources/schemas/CreateMergePlanCommand.json +34 -0
- package/dist/resources/schemas/CreateMicrofunctionCommand.json +117 -0
- package/dist/resources/schemas/CreateMicrofunctionRuntimeCommand.json +51 -0
- package/dist/resources/schemas/CreateMicroserviceCommand.json +145 -3
- package/dist/resources/schemas/CreateQueryCommand.json +56 -3
- package/dist/resources/schemas/CreateRowCommand.json +38 -0
- package/dist/resources/schemas/CreateViewCommand.json +13 -10
- package/dist/resources/schemas/CreateWorkflowCommand.json +106 -14
- package/dist/resources/schemas/DataJobDto.json +267 -0
- package/dist/resources/schemas/ExportRowsCommand.json +172 -0
- package/dist/resources/schemas/Filter.json +3 -1
- package/dist/resources/schemas/GetRowsQuery.json +6 -1
- package/dist/resources/schemas/GlobalFunctionDto.json +89 -0
- package/dist/resources/schemas/GlobalFunctionUpdateResultDto.json +249 -0
- package/dist/resources/schemas/ImportAnalysisDto.json +401 -0
- package/dist/resources/schemas/ImportPlanDto.json +260 -0
- package/dist/resources/schemas/ImportSampleDto.json +90 -0
- package/dist/resources/schemas/InvokeMicrofunctionCommand.json +25 -0
- package/dist/resources/schemas/PreviewMicroserviceCommand.json +135 -1
- package/dist/resources/schemas/PreviewQueryCommand.json +5 -2
- package/dist/resources/schemas/PreviewWorkflowCommand.json +45 -9
- package/dist/resources/schemas/ResolveMergeConflictsCommand.json +58 -0
- package/dist/resources/schemas/RevertMergePlanCommand.json +19 -0
- package/dist/resources/schemas/RunImportCommand.json +62 -0
- package/dist/resources/schemas/StepDto.json +34 -3
- package/dist/resources/schemas/UpdateBulkRowCommand.json +36 -0
- package/dist/resources/schemas/UpdateDatasourceCommand.json +15 -6
- package/dist/resources/schemas/UpdateEntityCommand.json +52 -11
- package/dist/resources/schemas/UpdateGlobalFunctionCommand.json +66 -0
- package/dist/resources/schemas/UpdateMicrofunctionCommand.json +121 -0
- package/dist/resources/schemas/UpdateMicrofunctionRuntimeCommand.json +54 -0
- package/dist/resources/schemas/UpdateMicroserviceCommand.json +147 -4
- package/dist/resources/schemas/UpdateQueryCommand.json +13 -3
- package/dist/resources/schemas/UpdateRowCommand.json +40 -0
- package/dist/resources/schemas/UpdateViewCommand.json +15 -10
- package/dist/resources/schemas/UpdateWorkflowCommand.json +106 -14
- package/dist/server.js +17 -1
- package/dist/tools/access.js +3 -3
- package/dist/tools/activities.js +40 -0
- package/dist/tools/applications.js +1 -1
- package/dist/tools/automations.js +76 -34
- package/dist/tools/common.js +55 -0
- package/dist/tools/components.js +16 -7
- package/dist/tools/datasources.js +83 -21
- package/dist/tools/dependencies.js +1 -1
- package/dist/tools/deployments.js +34 -2
- package/dist/tools/dtos.js +25 -12
- package/dist/tools/entities.js +113 -28
- package/dist/tools/environments.js +52 -0
- package/dist/tools/externalComponents.js +9 -3
- package/dist/tools/files.js +57 -42
- package/dist/tools/flows.js +205 -13
- package/dist/tools/folders.js +7 -2
- package/dist/tools/functions.js +331 -0
- package/dist/tools/globalFunctions.js +63 -0
- package/dist/tools/importSchemas.js +79 -0
- package/dist/tools/imports.js +241 -0
- package/dist/tools/layouts.js +103 -29
- package/dist/tools/merges.js +113 -0
- package/dist/tools/microfunctions.js +155 -0
- package/dist/tools/microservices.js +270 -40
- package/dist/tools/organizations.js +5 -6
- package/dist/tools/pages.js +421 -104
- package/dist/tools/platformInfo.js +155 -11
- package/dist/tools/projects.js +183 -33
- package/dist/tools/queries.js +32 -10
- package/dist/tools/revisions.js +94 -0
- package/dist/tools/rows.js +484 -50
- package/dist/tools/screenWrite.js +68 -0
- package/dist/tools/screens.js +28 -0
- package/dist/tools/templates.js +32 -5
- package/dist/tools/translations.js +24 -8
- package/dist/tools/views.js +20 -10
- package/dist/tools/workflows.js +56 -21
- package/package.json +7 -2
package/.env.example
CHANGED
|
@@ -56,8 +56,8 @@ SCREENSHOT_BROWSER_PATH=
|
|
|
56
56
|
ORG_SWAGGER_URL=
|
|
57
57
|
TENANT_SWAGGER_URL=
|
|
58
58
|
|
|
59
|
-
# Bos = tum moduller (
|
|
60
|
-
# (sayfa tasarimi,
|
|
59
|
+
# Bos = tum moduller (172 tool / 28 modul). Hazir kumeler: core (veri+mantik, 97), studio
|
|
60
|
+
# (sayfa tasarimi + kullanici fonksiyonlari, 66), admin (template/organizasyon/deployment, 15). platform modulu (3 tool)
|
|
61
61
|
# her kumede vardir. Kume ve tekil modul adi karisik yazilabilir.
|
|
62
62
|
# Ornek: core,studio | entity,row,microservice
|
|
63
63
|
MODULES=
|
package/.env.production.example
CHANGED
|
@@ -12,6 +12,14 @@ TENANT_API_BASE_URL=https://new-zeyrek.glomil.com/api
|
|
|
12
12
|
ORGANIZATION=new-zeyrek
|
|
13
13
|
HOST_SUFFIX=glomil.com
|
|
14
14
|
|
|
15
|
+
# Ikinci uzak kurulum (wappa kumesi, ayri veritabani; docs/ortam.md). Ona baglanmak icin
|
|
16
|
+
# yukaridaki dort satiri ve asagidaki STUDIO_BASE_URL'i bunlarla degistirin:
|
|
17
|
+
# ORG_API_BASE_URL=https://zeyrek.appaflytech.com/api/org
|
|
18
|
+
# TENANT_API_BASE_URL=https://zeyrek.appaflytech.com/api
|
|
19
|
+
# ORGANIZATION=zeyrek
|
|
20
|
+
# HOST_SUFFIX=appaflytech.com
|
|
21
|
+
# STUDIO_BASE_URL=https://zeyrek.appaflytech.com
|
|
22
|
+
|
|
15
23
|
# ZORUNLU. Gomulu varsayilan yok.
|
|
16
24
|
DEFAULT_ENVIRONMENT=development
|
|
17
25
|
DEFAULT_PROJECT=
|
|
@@ -38,7 +46,7 @@ SCREENSHOT_BROWSER_PATH=
|
|
|
38
46
|
ORG_SWAGGER_URL=
|
|
39
47
|
TENANT_SWAGGER_URL=
|
|
40
48
|
|
|
41
|
-
# Bos = tum moduller (
|
|
49
|
+
# Bos = tum moduller (167 tool). Kumeler: core (97) | studio (59) | admin (16).
|
|
42
50
|
MODULES=
|
|
43
51
|
|
|
44
52
|
MCP_PORT=5100
|
package/README.md
CHANGED
|
@@ -4,10 +4,11 @@ Zeyrek (NgApps) platformunu **MCP tool'ları** olarak sunan bağımsız gateway.
|
|
|
4
4
|
oturumu Studio arayüzüne hiç girmeden proje kurabilir, veri modeli çıkarabilir, mikroservis ve
|
|
5
5
|
workflow yazıp çalıştırabilir, sayfa tasarlayabilir.
|
|
6
6
|
|
|
7
|
-
- **
|
|
8
|
-
microservice, query, workflow, automation, dto, view, dependency), Studio
|
|
9
|
-
(page, component, external component, flow, layout, variable,
|
|
10
|
-
translation)
|
|
7
|
+
- **191 tool · 32 modül** — veri/mantık tarafı (project, application, datasource, entity, row,
|
|
8
|
+
import, microservice, query, workflow, automation, function, dto, view, dependency), Studio
|
|
9
|
+
tasarım tarafı (page, component, external component, flow, layout, variable, function, folder,
|
|
10
|
+
file, access, translation), yönetim (template, organization, deployment) ve proje dallanması
|
|
11
|
+
(environment, merge).
|
|
11
12
|
- Platform koduna referans vermez: Organization.API ile Tenant.API'yi **HTTP üzerinden** sarar —
|
|
12
13
|
istekler MVC binding'den geçtiği için FluentValidation aynen çalışır.
|
|
13
14
|
- Üstünde bir **bilgi katmanı** vardır (rehber + altın örnek + politika lint'i): platformun
|
|
@@ -137,10 +138,10 @@ ya da ikisi karışık (`core,page`). `platform` modülü (3 tool) her kümede v
|
|
|
137
138
|
|
|
138
139
|
| Küme | Tool | Modüller |
|
|
139
140
|
|---|---|---|
|
|
140
|
-
| `core` |
|
|
141
|
-
| `studio` |
|
|
142
|
-
| `admin` |
|
|
143
|
-
| (boş) | **
|
|
141
|
+
| `core` | 111 | platform, project, application, datasource, entity, row, microservice, query, workflow, automation, function, dto, view, dependency, environment, merge, activity, revision |
|
|
142
|
+
| `studio` | 69 | platform, page, component, externalComponent, flow, layout, variable, function, folder, file, access, translation, revision |
|
|
143
|
+
| `admin` | 26 | platform, template, organization, deployment, environment, merge, activity |
|
|
144
|
+
| (boş) | **185** | 32 modülün tamamı |
|
|
144
145
|
|
|
145
146
|
Bilinmeyen bir modül/küme adı verilirse sunucu açılmaz, geçerli adları listeleyen bir hata yazar.
|
|
146
147
|
|
|
@@ -198,36 +199,11 @@ Tam gövdeyi LLM bağlamına sokmadan çalışma modeli:
|
|
|
198
199
|
|
|
199
200
|
## Tool çağrısı günlüğü
|
|
200
201
|
|
|
201
|
-
Her MCP tool çağrısı, okunmak için biçimlenmiş tek bir blok olarak
|
|
202
|
-
`
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
┌─ #1 · 11:27:27.082 · platform_whoami — Oturum bilgisi
|
|
207
|
-
│ amaç : Gateway'in platformda kimin adına çalıştığını döner; auth kurulumunu doğrulamak için ilk çağrılacak tool.
|
|
208
|
-
│ girdi : (parametresiz)
|
|
209
|
-
│ adımlar:
|
|
210
|
-
│ +2ms kimlik → önbellekte geçerli token yok — POST http://localhost:7000/connect/token · kullanıcı admin@zeyrek.com
|
|
211
|
-
│ +229ms kimlik ← HTTP 200 · token alındı, önbellekte 63158340 sn geçerli
|
|
212
|
-
│ +229ms istek → GET http://localhost:7000/connect/userinfo · org api · env=development
|
|
213
|
-
│ +237ms yanıt ← HTTP 200 · 8 ms · 174 B
|
|
214
|
-
│ gövde: {"sub":"01917edf-…","email":"admin@zeyrek.com","role":["super-admin"]}
|
|
215
|
-
└─ SONUÇ : başarılı · 238 ms · 4 adım · 137 B yanıt
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
Adım etiketleri: `politika` (lint kuralları; `politika ✕` isteği hiç göndermez), `düzeltme`
|
|
219
|
-
(gateway'in gövdeye uyguladığı otomatik düzeltmeler — yanıttaki `gatewayNormalized`),
|
|
220
|
-
`kimlik →/←` (`/connect/token` turu), `istek →/yanıt ←` (platform API turu, tam URL + süre +
|
|
221
|
-
boyut), `kırpma ✂` (yanıt `MAX_RESPONSE_BYTES` sınırını aştı), `tarayıcı →/←`
|
|
222
|
-
(`page_screenshot`'ın headless Chromium turu), `hata ✕` (yakalanan hata: sınıf, HTTP kodu, mesaj,
|
|
223
|
-
ilk 3 stack satırı). Tool gövdesine hiç girmeyen çağrılar — yanlış tool adı ya da parametre
|
|
224
|
-
şemasına takılan gövde — `MCP KATMANI REDDETTİ` bloğu olarak düşer.
|
|
225
|
-
|
|
226
|
-
Arama: `SONUÇ : HATA` tüm başarısız çağrılar, `hata ✕` hata satırları, `#<n>` tek bir çağrı.
|
|
227
|
-
|
|
228
|
-
Adı `pass|secret|token|authorization|api key|credential|connectionString` desenine uyan alanlar
|
|
229
|
-
`***` ile maskelenir. Günlükleme yazma hatası tool çağrısını **düşürmez**: ilk hatada stderr'e
|
|
230
|
-
tek satır yazılıp günlükleme kapatılır.
|
|
202
|
+
Her MCP tool çağrısı, okunmak için biçimlenmiş tek bir blok olarak
|
|
203
|
+
`zeyrek-mcp/logs/gateway-YYYY-MM-DD.log` dosyasına yazılır (`.gitignore`'da; `LOG_LEVEL=detail|summary|off`).
|
|
204
|
+
Hızlı arama: `SONUÇ : HATA` tüm başarısız çağrılar, `#<n>` tek bir çağrı. Blok formatı, adım
|
|
205
|
+
etiketleri, diğer `LOG_*` ayarları ve maskeleme:
|
|
206
|
+
[`docs/30-tool-cagri-gunlugu.md`](docs/30-tool-cagri-gunlugu.md).
|
|
231
207
|
|
|
232
208
|
## Sorun giderme
|
|
233
209
|
|
package/dist/config.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { userInfo } from "node:os";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
export const moduleNames = [
|
|
3
4
|
"platform",
|
|
@@ -6,7 +7,9 @@ export const moduleNames = [
|
|
|
6
7
|
"datasource",
|
|
7
8
|
"entity",
|
|
8
9
|
"row",
|
|
10
|
+
"import",
|
|
9
11
|
"microservice",
|
|
12
|
+
"microfunction",
|
|
10
13
|
"query",
|
|
11
14
|
"workflow",
|
|
12
15
|
"automation",
|
|
@@ -18,6 +21,7 @@ export const moduleNames = [
|
|
|
18
21
|
"flow",
|
|
19
22
|
"layout",
|
|
20
23
|
"variable",
|
|
24
|
+
"function",
|
|
21
25
|
"folder",
|
|
22
26
|
"file",
|
|
23
27
|
"access",
|
|
@@ -26,6 +30,10 @@ export const moduleNames = [
|
|
|
26
30
|
"organization",
|
|
27
31
|
"dependency",
|
|
28
32
|
"deployment",
|
|
33
|
+
"environment",
|
|
34
|
+
"merge",
|
|
35
|
+
"activity",
|
|
36
|
+
"revision",
|
|
29
37
|
];
|
|
30
38
|
export const modulePresets = {
|
|
31
39
|
core: [
|
|
@@ -35,13 +43,20 @@ export const modulePresets = {
|
|
|
35
43
|
"datasource",
|
|
36
44
|
"entity",
|
|
37
45
|
"row",
|
|
46
|
+
"import",
|
|
38
47
|
"microservice",
|
|
48
|
+
"microfunction",
|
|
39
49
|
"query",
|
|
40
50
|
"workflow",
|
|
41
51
|
"automation",
|
|
52
|
+
"function",
|
|
42
53
|
"dto",
|
|
43
54
|
"view",
|
|
44
55
|
"dependency",
|
|
56
|
+
"environment",
|
|
57
|
+
"merge",
|
|
58
|
+
"activity",
|
|
59
|
+
"revision",
|
|
45
60
|
],
|
|
46
61
|
studio: [
|
|
47
62
|
"platform",
|
|
@@ -51,12 +66,15 @@ export const modulePresets = {
|
|
|
51
66
|
"flow",
|
|
52
67
|
"layout",
|
|
53
68
|
"variable",
|
|
69
|
+
"function",
|
|
54
70
|
"folder",
|
|
55
71
|
"file",
|
|
72
|
+
"import",
|
|
56
73
|
"access",
|
|
57
74
|
"translation",
|
|
75
|
+
"revision",
|
|
58
76
|
],
|
|
59
|
-
admin: ["platform", "template", "organization", "deployment"],
|
|
77
|
+
admin: ["platform", "template", "organization", "deployment", "environment", "merge", "activity"],
|
|
60
78
|
};
|
|
61
79
|
function expandModuleNames(entries) {
|
|
62
80
|
const modules = [];
|
|
@@ -97,8 +115,22 @@ const environmentSchema = z.object({
|
|
|
97
115
|
MCP_PORT: z.coerce.number().int().positive().default(5100),
|
|
98
116
|
STUDIO_BASE_URL: z.string().url().optional(),
|
|
99
117
|
SCREENSHOT_BROWSER_PATH: z.string().min(1).optional(),
|
|
118
|
+
SCREENSHOT_QUEUE_WAIT_MS: z.coerce.number().int().positive().default(120000),
|
|
100
119
|
});
|
|
101
120
|
export const environmentKeys = Object.keys(environmentSchema.shape);
|
|
121
|
+
/**
|
|
122
|
+
* Makine kullanıcısının adı. Windows `USER`/`LOGNAME` tanımlamaz — o ikisi POSIX kabuklarına
|
|
123
|
+
* aittir — bu yüzden `USERNAME` gölgelemesinin HER ZAMAN yaşandığı platformda kıyaslanacak ad
|
|
124
|
+
* yalnız buradan gelir. Kısıtlı ortamlarda çağrı fırlatabildiği için sarılıdır.
|
|
125
|
+
*/
|
|
126
|
+
function machineUserName() {
|
|
127
|
+
try {
|
|
128
|
+
return userInfo().username;
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
102
134
|
/**
|
|
103
135
|
* `.mcp.json` env bloğundan gelen KULLANILAMAZ değerleri süreç ortamından düşürür ki `.env`
|
|
104
136
|
* (dotenv mevcut anahtarları ezmez) ve şema varsayılanları devreye girebilsin. İki hâl
|
|
@@ -114,14 +146,14 @@ export const environmentKeys = Object.keys(environmentSchema.shape);
|
|
|
114
146
|
* sisteminin kullanıcı adıyla AYNIYSA düşürülür: gerçekten o adla giren bir kurulum zaten
|
|
115
147
|
* `.env`/`.mcp.json`'da aynı değeri yazar ve dosyadan geri okunur.
|
|
116
148
|
*/
|
|
117
|
-
export function dropUnusableEnvironment(env) {
|
|
149
|
+
export function dropUnusableEnvironment(env, osUserName = machineUserName()) {
|
|
118
150
|
for (const key of environmentKeys) {
|
|
119
151
|
const value = env[key];
|
|
120
152
|
if (value === "" || (value !== undefined && /^\$\{[^}]*\}$/.test(value))) {
|
|
121
153
|
delete env[key];
|
|
122
154
|
}
|
|
123
155
|
}
|
|
124
|
-
const osUser = env.USER ?? env.LOGNAME;
|
|
156
|
+
const osUser = env.USER ?? env.LOGNAME ?? osUserName;
|
|
125
157
|
if (env.USERNAME !== undefined && env.USERNAME === osUser) {
|
|
126
158
|
delete env.USERNAME;
|
|
127
159
|
}
|
|
@@ -191,5 +223,6 @@ export function loadConfig(env) {
|
|
|
191
223
|
port: values.MCP_PORT,
|
|
192
224
|
studioBaseUrl: values.STUDIO_BASE_URL?.replace(/\/+$/, ""),
|
|
193
225
|
screenshotBrowserPath: values.SCREENSHOT_BROWSER_PATH,
|
|
226
|
+
screenshotQueueWaitMs: values.SCREENSHOT_QUEUE_WAIT_MS,
|
|
194
227
|
};
|
|
195
228
|
}
|