@appaflytech/zeyrek-ai-mcp 0.0.30 → 0.0.32
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 +0 -15
- package/README.md +5 -5
- package/dist/config.js +0 -37
- package/dist/index.js +0 -2
- package/dist/knowledge/backendConstraints.js +1 -18
- package/dist/knowledge/boxSections.js +184 -0
- package/dist/knowledge/componentCatalog.js +232 -562
- package/dist/knowledge/componentEvents.js +21 -141
- package/dist/knowledge/layoutSummary.js +2 -140
- package/dist/knowledge/normalize.js +67 -236
- package/dist/knowledge/outlines.js +0 -36
- package/dist/knowledge/policy.js +4 -18
- package/dist/knowledge/reservedTables.js +0 -79
- package/dist/knowledge/rules.js +21 -319
- package/dist/knowledge/schemaGuard.js +0 -11
- package/dist/knowledge/styleResolve.js +38 -55
- package/dist/knowledge/themeResolve.js +3 -3
- package/dist/observability/trace.js +3 -6
- package/dist/platform/diagnostics.js +4 -10
- package/dist/platform/domSummary.js +1 -1
- package/dist/platform/errors.js +10 -162
- package/dist/platform/http.js +8 -29
- package/dist/platform/responses.js +5 -39
- package/dist/platform/{capture/capture.js → screenshot.js} +519 -105
- package/dist/platform/secrets.js +1 -17
- package/dist/platform/strictArguments.js +12 -68
- package/dist/platform/tokenVault.js +4 -187
- package/dist/resources/examples/layout-app-shell.json +707 -229
- package/dist/resources/examples/page-detail-profile.json +1 -2
- package/dist/resources/examples/page-dynamic-form.json +2 -3
- package/dist/resources/examples/page-flex-sections.json +1 -1
- package/dist/resources/examples/page-html-embed.json +1 -1
- package/dist/resources/examples/workflow-basic.json +2 -8
- package/dist/resources/guides/component.md +4 -91
- package/dist/resources/guides/entity.md +8 -50
- package/dist/resources/guides/expressions.md +5 -14
- package/dist/resources/guides/functions.md +1 -1
- package/dist/resources/guides/getting-started.md +1 -38
- package/dist/resources/guides/layout.md +58 -55
- package/dist/resources/guides/microservice.md +2 -81
- package/dist/resources/guides/middleware.md +2 -44
- package/dist/resources/guides/page.md +75 -454
- package/dist/resources/guides/theme.md +2 -8
- package/dist/resources/guides/translation.md +1 -1
- package/dist/resources/guides/workflow.md +1 -58
- package/dist/resources/rules.js +5 -11
- package/dist/resources/schema-fingerprint.json +5 -7
- package/dist/resources/schemas/CreateEntityCommand.json +0 -118
- package/dist/resources/schemas/CreateMicroserviceCommand.json +1 -13
- package/dist/resources/schemas/CreateQueryCommand.json +0 -4
- package/dist/resources/schemas/CreateWorkflowCommand.json +1 -143
- package/dist/resources/schemas/DataJobDto.json +1 -6
- package/dist/resources/schemas/GlobalFunctionUpdateResultDto.json +1 -21
- package/dist/resources/schemas/MicroserviceDto.json +3 -15
- package/dist/resources/schemas/PreviewMicroserviceCommand.json +1 -10
- package/dist/resources/schemas/PreviewWorkflowCommand.json +1 -22
- package/dist/resources/schemas/StepDto.json +1 -22
- package/dist/resources/schemas/UpdateEntityCommand.json +0 -118
- package/dist/resources/schemas/UpdateMicroserviceCommand.json +1 -13
- package/dist/resources/schemas/UpdateQueryCommand.json +0 -4
- package/dist/resources/schemas/UpdateViewCommand.json +2 -0
- package/dist/resources/schemas/UpdateWorkflowCommand.json +1 -143
- package/dist/server.js +1 -27
- package/dist/tools/access.js +2 -369
- package/dist/tools/applications.js +3 -60
- package/dist/tools/common.js +0 -7
- package/dist/tools/components.js +14 -118
- package/dist/tools/datasources.js +3 -3
- package/dist/tools/dependencies.js +1 -1
- package/dist/tools/deployments.js +2 -2
- package/dist/tools/designSchemaPatch.js +18 -34
- package/dist/tools/dtos.js +5 -36
- package/dist/tools/entities.js +12 -79
- package/dist/tools/externalComponents.js +5 -26
- package/dist/tools/flows.js +14 -122
- package/dist/tools/folders.js +1 -1
- package/dist/tools/imports.js +2 -5
- package/dist/tools/layouts.js +17 -50
- package/dist/tools/merges.js +1 -1
- package/dist/tools/microservices.js +25 -77
- package/dist/tools/pages.js +112 -465
- package/dist/tools/platformInfo.js +8 -27
- package/dist/tools/projects.js +9 -71
- package/dist/tools/rows.js +13 -69
- package/dist/tools/schemaOps.js +1 -61
- package/dist/tools/screenWrite.js +8 -37
- package/dist/tools/screens.js +5 -95
- package/dist/tools/templates.js +1 -26
- package/dist/tools/translations.js +1 -1
- package/dist/tools/variables.js +5 -11
- package/dist/tools/workflows.js +5 -10
- package/package.json +2 -2
- package/dist/knowledge/access.js +0 -802
- package/dist/knowledge/case.js +0 -41
- package/dist/knowledge/connectDataBind.js +0 -819
- package/dist/knowledge/connectDataDefinition.js +0 -341
- package/dist/knowledge/connectDataExecute.js +0 -93
- package/dist/knowledge/connectDataRules.js +0 -128
- package/dist/knowledge/decision.js +0 -121
- package/dist/knowledge/expressionPrelude.js +0 -59
- package/dist/knowledge/microserviceParameters.js +0 -58
- package/dist/knowledge/mining.js +0 -94
- package/dist/knowledge/mobileComponentCatalog.js +0 -859
- package/dist/knowledge/mobileComponentEvents.js +0 -239
- package/dist/knowledge/platform/lint.js +0 -385
- package/dist/knowledge/platform/mobile.js +0 -142
- package/dist/knowledge/platform/mobileLayoutLint.js +0 -324
- package/dist/knowledge/platform/mobileRules.js +0 -231
- package/dist/knowledge/platform/mobileSpacing.js +0 -82
- package/dist/knowledge/platform/mobileTabs.js +0 -108
- package/dist/knowledge/platform/nativeBoxModel.js +0 -44
- package/dist/knowledge/platform/profile.js +0 -25
- package/dist/knowledge/platform/resolve.js +0 -122
- package/dist/knowledge/platform/web.js +0 -39
- package/dist/knowledge/process.js +0 -510
- package/dist/knowledge/rowFilter.js +0 -43
- package/dist/knowledge/styleResolveNative.js +0 -527
- package/dist/platform/argumentAliases.js +0 -128
- package/dist/platform/bodyFile.js +0 -103
- package/dist/platform/capture/actions.js +0 -333
- package/dist/platform/capture/browser.js +0 -1
- package/dist/platform/capture/console-log.js +0 -122
- package/dist/platform/capture/index.js +0 -11
- package/dist/platform/capture/readiness.js +0 -103
- package/dist/platform/capture/summary.js +0 -77
- package/dist/platform/capture/target.js +0 -5
- package/dist/platform/capture/targets/studio-mobile.js +0 -15
- package/dist/platform/capture/targets/studio-web.js +0 -5
- package/dist/platform/impersonation.js +0 -45
- package/dist/platform/jsonArray.js +0 -24
- package/dist/platform/schemaReadMemory.js +0 -60
- package/dist/resources/examples/bpm-gorev-kontrol.json +0 -294
- package/dist/resources/examples/bpm-iso-dokuman.json +0 -228
- package/dist/resources/examples/bpm-satinalma.json +0 -376
- package/dist/resources/examples/connect-data-convert-verify.json +0 -107
- package/dist/resources/examples/connect-data-dropdown-roles.json +0 -66
- package/dist/resources/examples/connect-data-edit-m2m.json +0 -73
- package/dist/resources/examples/connect-data-query-params.json +0 -50
- package/dist/resources/examples/connect-data-table-entity.json +0 -147
- package/dist/resources/examples/connect-data-workflow-microservice.json +0 -65
- package/dist/resources/examples/mobile-app-shell-drawer.json +0 -243
- package/dist/resources/examples/mobile-app-shell-stack.json +0 -157
- package/dist/resources/examples/mobile-app-shell-tab.json +0 -208
- package/dist/resources/examples/mobile-form-screen.json +0 -365
- package/dist/resources/examples/mobile-list-detail-form.json +0 -672
- package/dist/resources/guides/access.md +0 -796
- package/dist/resources/guides/bpm.md +0 -686
- package/dist/resources/guides/case.md +0 -153
- package/dist/resources/guides/decision.md +0 -185
- package/dist/resources/guides/mobile-layout.md +0 -193
- package/dist/resources/guides/mobile.md +0 -495
- package/dist/resources/read.js +0 -41
- package/dist/resources/schemas/AccessExplanationDto.json +0 -144
- package/dist/resources/schemas/AccessMatrixDto.json +0 -170
- package/dist/resources/schemas/AccessPermissionDto.json +0 -57
- package/dist/resources/schemas/AccessPolicyDto.json +0 -223
- package/dist/resources/schemas/AccessResourceDto.json +0 -86
- package/dist/resources/schemas/AppSessionDto.json +0 -53
- package/dist/resources/schemas/ConnectDataDescribeDto.json +0 -344
- package/dist/resources/schemas/ConnectDataRequestModel.json +0 -202
- package/dist/resources/schemas/ConnectDataResultDto.json +0 -421
- package/dist/resources/schemas/ConnectorCredentialDto.json +0 -70
- package/dist/resources/schemas/ConvertConnectDataToMicroserviceCommand.json +0 -37
- package/dist/resources/schemas/CreateAccessPolicyCommand.json +0 -209
- package/dist/resources/schemas/CreateDecisionCommand.json +0 -221
- package/dist/resources/schemas/CreateProcessDefinitionCommand.json +0 -1337
- package/dist/resources/schemas/DecisionDto.json +0 -302
- package/dist/resources/schemas/DetachConnectDataMicroserviceCommand.json +0 -28
- package/dist/resources/schemas/ExplainAccessQuery.json +0 -33
- package/dist/resources/schemas/GenerateProcessDocumentCommand.json +0 -116
- package/dist/resources/schemas/OrganizationProjectDto.json +0 -335
- package/dist/resources/schemas/OrganizationSchemaDto.json +0 -196
- package/dist/resources/schemas/OrganizationSchemaVersionDto.json +0 -207
- package/dist/resources/schemas/PatchProcessDefinitionCommand.json +0 -76
- package/dist/resources/schemas/ProcessDefinitionDto.json +0 -1480
- package/dist/resources/schemas/ProcessSimulationDto.json +0 -96
- package/dist/resources/schemas/SaveConnectorCredentialCommand.json +0 -90
- package/dist/resources/schemas/SaveProcessEventSourceCommand.json +0 -61
- package/dist/resources/schemas/SaveProcessMailSourceCommand.json +0 -89
- package/dist/resources/schemas/SignProcessTaskCommand.json +0 -73
- package/dist/resources/schemas/SimulateProcessDefinitionQuery.json +0 -92
- package/dist/resources/schemas/UpdateAccessPolicyCommand.json +0 -209
- package/dist/resources/schemas/UpdateDecisionCommand.json +0 -216
- package/dist/resources/schemas/UpdateProcessDefinitionCommand.json +0 -1357
- package/dist/resources/schemas/ValidateProcessDefinitionQuery.json +0 -1339
- package/dist/tools/accessOperations.js +0 -135
- package/dist/tools/accessPolicies.js +0 -170
- package/dist/tools/accessRuntime.js +0 -203
- package/dist/tools/bpm.js +0 -343
- package/dist/tools/bpmGovernance.js +0 -266
- package/dist/tools/bpmOperations.js +0 -230
- package/dist/tools/bpmReporting.js +0 -154
- package/dist/tools/bpmRouting.js +0 -150
- package/dist/tools/bpmRuntime.js +0 -396
- package/dist/tools/case.js +0 -178
- package/dist/tools/caseRuntime.js +0 -89
- package/dist/tools/connectData.js +0 -449
- package/dist/tools/connectors.js +0 -193
- package/dist/tools/decisions.js +0 -206
- package/dist/tools/mobile.js +0 -221
- package/dist/tools/modules.js +0 -48
- package/dist/tools/organizationStructure.js +0 -137
- package/dist/tools/profileWrite.js +0 -92
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"synthetic": false,
|
|
4
|
-
"note": "Bağlantıyı kullanıcı gözüyle doğrulama, microservice'e çevirme ve geri ayırma. Canlı ölçüldü (2026-09-21, koşu 38 kapanışı): cdt-yetki kompleks enforce — gateway kimliğiyle list 401 AppSessionRequired; asUserId kısıtlı kullanıcı 200 (tckn '*******8901', maas yok, departman { id }), yetkili kullanıcı 200 (maas + departman.ad); lookup departman kısıtlıda 403, yetkilide 4 satır; page_screenshot { asUserId } kısıtlıda Maaş kolonu yok, yetkilide var. Convert → detach turu 38/04 Başlık 1'de.",
|
|
5
|
-
"harvestedFrom": "zeyrek-mcp/docs/38-connect-data-kabul-kosusu/04-mcp-uctan-uca.md"
|
|
6
|
-
},
|
|
7
|
-
"_rules": {
|
|
8
|
-
"asUserId": "Parolasız kullanıcı gözü: users satır id'si. İstek gateway kimliği + impersonated-user-id başlığıyla gider. Yalnız development/dal; production'da istek gönderilmez. asUser ve anonymous ile birlikte verilmez; projede olmayan id reddedilir.",
|
|
9
|
-
"pageView": "Kullanıcının politikasında sayfanın page.view grant'i yoksa sayfa ve bağlantı 403 döner — access_policy_update ile page:<sayfa id> ekleyin (sayfa şeması boşken katalogda yoktur).",
|
|
10
|
-
"screenshot": "page_screenshot { asUserId } sayfanın bütün isteklerine başlığı ekler; Studio 'View as user' seçicisiyle aynı sonuç.",
|
|
11
|
-
"convert": "connect_data_convert tanımı microservice'e taşır; prop { version: 1, microserviceId } olur. Doğrulama microservice_execute { method: 'POST', body: { op: 'list', page: { limit: 5 } }, asUserId }. Çevrilmiş prop'a bind reddedilir: önce connect_data_detach (microservice silinir, başka yerde kullanılıyorsa 409)."
|
|
12
|
-
},
|
|
13
|
-
"connectDataBindArgs": {
|
|
14
|
-
"applicationId": "<application id>",
|
|
15
|
-
"pageId": "<page id>",
|
|
16
|
-
"element": "dt_personel",
|
|
17
|
-
"prop": "rows",
|
|
18
|
-
"source": {
|
|
19
|
-
"kind": "entity",
|
|
20
|
-
"id": "<personel entity id>"
|
|
21
|
-
},
|
|
22
|
-
"edit": {
|
|
23
|
-
"update": true,
|
|
24
|
-
"editable": [
|
|
25
|
-
"ad"
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
"dryRun": true,
|
|
29
|
-
"asUserId": "<kısıtlı kullanıcının users satır id'si>"
|
|
30
|
-
},
|
|
31
|
-
"expectedFindings": [
|
|
32
|
-
"CD-006 warn 'kullanıcı <id> gözüyle: edit.update açık ama politika bu kullanıcıya update izni vermiyor'"
|
|
33
|
-
],
|
|
34
|
-
"verifyCalls": [
|
|
35
|
-
{
|
|
36
|
-
"tool": "connect_data_execute",
|
|
37
|
-
"arguments": {
|
|
38
|
-
"applicationId": "<application id>",
|
|
39
|
-
"pageId": "<page id>",
|
|
40
|
-
"element": "dt_personel",
|
|
41
|
-
"prop": "rows",
|
|
42
|
-
"op": "list",
|
|
43
|
-
"page": {
|
|
44
|
-
"limit": 5
|
|
45
|
-
},
|
|
46
|
-
"asUserId": "<kısıtlı kullanıcının users satır id'si>"
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"tool": "connect_data_execute",
|
|
51
|
-
"arguments": {
|
|
52
|
-
"applicationId": "<application id>",
|
|
53
|
-
"pageId": "<page id>",
|
|
54
|
-
"element": "dt_personel",
|
|
55
|
-
"prop": "rows",
|
|
56
|
-
"op": "lookup",
|
|
57
|
-
"field": "departman",
|
|
58
|
-
"asUserId": "<kısıtlı kullanıcının users satır id'si>"
|
|
59
|
-
},
|
|
60
|
-
"expect": "403 — hedef tablo (departmanlar) okunamıyor"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"tool": "page_screenshot",
|
|
64
|
-
"arguments": {
|
|
65
|
-
"applicationSlug": "web",
|
|
66
|
-
"pageSlug": "personel",
|
|
67
|
-
"image": "none",
|
|
68
|
-
"asUserId": "<kısıtlı kullanıcının users satır id'si>"
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"tool": "connect_data_convert",
|
|
73
|
-
"arguments": {
|
|
74
|
-
"applicationId": "<application id>",
|
|
75
|
-
"pageId": "<page id>",
|
|
76
|
-
"element": "dt_personel",
|
|
77
|
-
"prop": "rows",
|
|
78
|
-
"name": "Personel Baglantisi",
|
|
79
|
-
"slug": "personel-baglantisi"
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"tool": "microservice_execute",
|
|
84
|
-
"arguments": {
|
|
85
|
-
"application": "web",
|
|
86
|
-
"microservice": "personel-baglantisi",
|
|
87
|
-
"method": "POST",
|
|
88
|
-
"body": {
|
|
89
|
-
"op": "list",
|
|
90
|
-
"page": {
|
|
91
|
-
"limit": 5
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
"asUserId": "<kullanıcı id>"
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"tool": "connect_data_detach",
|
|
99
|
-
"arguments": {
|
|
100
|
-
"applicationId": "<application id>",
|
|
101
|
-
"pageId": "<page id>",
|
|
102
|
-
"element": "dt_personel",
|
|
103
|
-
"prop": "rows"
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
]
|
|
107
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"synthetic": true,
|
|
4
|
-
"note": "Rol tabanlı bağlama: dropdown seçenekleri bir entity'den. Roller verilmezse yalnız zorunlu roller önerilir (value ← birincil anahtar, label ← görünen alan); isteğe bağlı roller (caption, color, isDisabled…) boş kalır. Kural birim testte gerçek katalog kaydıyla doğrulandı (test/connect-data-bind.test.ts); canlı fixture'ı yok.",
|
|
5
|
-
"harvestedFrom": "src/knowledge/connectDataBind.ts defaultMapping"
|
|
6
|
-
},
|
|
7
|
-
"_rules": {
|
|
8
|
-
"connectable": "Önce component_get { slug: 'dropdown' } → connectData.props.options: 13 rol (label, value, caption, color, …), required [value, label]; dropdown kaydında fields YOK — runtime satırları rol adlarına yazar (option.label ← ad). Kayıt yoksa bileşen bağlanamaz (CD-001).",
|
|
9
|
-
"roles": "roles verilmezse gateway önerir; zorunlu rol doldurulamazsa bind 'Aday alanlar: …' ile durur.",
|
|
10
|
-
"fields": "Rol bileşeninde fields verilmezse birincil anahtar + rollerin kökleri seçilir. Kaydında fields olan bileşende (chart categoryField/valueField, kanban titleField) seçilen alan adı o prop'lara aynı yamada yazılır.",
|
|
11
|
-
"sort": "Görünen alan seçiliyse varsayılan sıralama odur."
|
|
12
|
-
},
|
|
13
|
-
"connectDataBindArgs": {
|
|
14
|
-
"applicationId": "<application id>",
|
|
15
|
-
"pageId": "<page id>",
|
|
16
|
-
"element": "dd_sehir",
|
|
17
|
-
"prop": "options",
|
|
18
|
-
"source": {
|
|
19
|
-
"kind": "entity",
|
|
20
|
-
"id": "<sehirler entity id>"
|
|
21
|
-
},
|
|
22
|
-
"dryRun": true
|
|
23
|
-
},
|
|
24
|
-
"expectedDryRun": {
|
|
25
|
-
"definition": {
|
|
26
|
-
"version": 1,
|
|
27
|
-
"source": {
|
|
28
|
-
"kind": "entity",
|
|
29
|
-
"id": "<sehirler entity id>",
|
|
30
|
-
"slug": "sehirler"
|
|
31
|
-
},
|
|
32
|
-
"fields": [
|
|
33
|
-
{
|
|
34
|
-
"id": "<id field id>",
|
|
35
|
-
"slug": "id"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"id": "<ad field id>",
|
|
39
|
-
"slug": "ad"
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
"filter": null,
|
|
43
|
-
"sort": [
|
|
44
|
-
{
|
|
45
|
-
"field": "ad",
|
|
46
|
-
"ascending": true
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
"page": {
|
|
50
|
-
"mode": "offset",
|
|
51
|
-
"limit": 25
|
|
52
|
-
},
|
|
53
|
-
"language": "request",
|
|
54
|
-
"mapping": {
|
|
55
|
-
"roles": {
|
|
56
|
-
"label": "ad",
|
|
57
|
-
"value": "id"
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
"ops": [
|
|
62
|
-
"set_connect_data { target: 'dd_sehir', path: 'options', ref }"
|
|
63
|
-
],
|
|
64
|
-
"findings": []
|
|
65
|
-
}
|
|
66
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"synthetic": false,
|
|
4
|
-
"note": "m2m, o2m, enum ve dosya alanı olan tabloyu düzenlemeye açık bağlar ve bir satırı günceller. Canlı ölçüldü (2026-09-21, cdt-mcp, koşu 38/04 Başlık 3): dosya alanı editable'dayken dryRun CD-018 block (önce findings: [] idi, gerçek yazma 422 connect-data-editable-file); m2m tam liste + o2m + enum update 200.",
|
|
5
|
-
"harvestedFrom": "zeyrek-mcp/docs/38-connect-data-kabul-kosusu/04-mcp-uctan-uca.md Başlık 3"
|
|
6
|
-
},
|
|
7
|
-
"_rules": {
|
|
8
|
-
"editable": "editable yalnız seçili kök alanlardan (CD-004); dosya alanı (describe type 'file') editable'a konamaz (CD-018). editable verilmezse gateway yazılabilir kökleri önerir ve dosya alanını dışarıda bırakır.",
|
|
9
|
-
"relationValues": "o2m değeri '<id>' ya da { id }; m2m TAM liste ['<id>', …] — listede olmayan bağ silinir. Hedefte olmayan kimlik 404 ConnectDataRelationTargetNotFound (field).",
|
|
10
|
-
"fileCell": "Dosya hücresi { id, display_name, path, size, extension, content_type, … }; boş dosya null. Dosyayı file_upload + row_update yazar.",
|
|
11
|
-
"writeMode": "atomic (varsayılan): tek transaction, hepsi ya da hiçbiri. partial yalnız built-in veritabanında.",
|
|
12
|
-
"sideEffect": "connect_data_execute GERÇEKTEN yazar; denetim izinde kaynak CONNECT_DATA. Kompleks projede kimlik asUserId (parolasız, development) ya da asUser."
|
|
13
|
-
},
|
|
14
|
-
"connectDataBindArgs": {
|
|
15
|
-
"applicationId": "<application id>",
|
|
16
|
-
"pageId": "<page id>",
|
|
17
|
-
"element": "dt_projeler",
|
|
18
|
-
"prop": "rows",
|
|
19
|
-
"source": {
|
|
20
|
-
"kind": "entity",
|
|
21
|
-
"id": "<projeler entity id>"
|
|
22
|
-
},
|
|
23
|
-
"fields": [
|
|
24
|
-
"id",
|
|
25
|
-
"ad",
|
|
26
|
-
"durum",
|
|
27
|
-
"dokuman",
|
|
28
|
-
"etiketler",
|
|
29
|
-
"sorumlu"
|
|
30
|
-
],
|
|
31
|
-
"expand": {
|
|
32
|
-
"etiketler": [
|
|
33
|
-
"ad"
|
|
34
|
-
],
|
|
35
|
-
"sorumlu": [
|
|
36
|
-
"ad"
|
|
37
|
-
]
|
|
38
|
-
},
|
|
39
|
-
"filterable": [
|
|
40
|
-
"durum",
|
|
41
|
-
"etiketler",
|
|
42
|
-
"sorumlu"
|
|
43
|
-
],
|
|
44
|
-
"edit": {
|
|
45
|
-
"update": true,
|
|
46
|
-
"editable": [
|
|
47
|
-
"durum",
|
|
48
|
-
"etiketler",
|
|
49
|
-
"sorumlu"
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
"columns": "auto"
|
|
53
|
-
},
|
|
54
|
-
"executeArgs": {
|
|
55
|
-
"applicationId": "<application id>",
|
|
56
|
-
"pageId": "<page id>",
|
|
57
|
-
"element": "dt_projeler",
|
|
58
|
-
"prop": "rows",
|
|
59
|
-
"op": "update",
|
|
60
|
-
"rows": [
|
|
61
|
-
{
|
|
62
|
-
"id": "<satır id>",
|
|
63
|
-
"etiketler": [
|
|
64
|
-
"<acil etiket id>",
|
|
65
|
-
"<iç etiket id>"
|
|
66
|
-
],
|
|
67
|
-
"sorumlu": "<kişi id>",
|
|
68
|
-
"durum": "aktif"
|
|
69
|
-
}
|
|
70
|
-
],
|
|
71
|
-
"asUserId": "<düzenleme izni olan users satır id'si>"
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"synthetic": false,
|
|
4
|
-
"note": "Parametreli query'yi datatable'a bağlar; parametre sayfa değişkeninden ($minFiyat) gelir. Canlı ölçüldü (2026-09-21, cdt-mcp, koşu 38/04): request.params.minFiyat 6000 → 4 satır; params verilmeden önizleme 0 satır + CD-014 warn (başlangıç değeri 3000 önerildi).",
|
|
5
|
-
"harvestedFrom": "zeyrek-mcp/docs/38-connect-data-kabul-kosusu/04-mcp-uctan-uca.md Başlık 1"
|
|
6
|
-
},
|
|
7
|
-
"_rules": {
|
|
8
|
-
"queryFirst": "query_create { rawQuery: 'SELECT id, ad, kategori, fiyat, stok FROM urunler WHERE fiyat >= @minFiyat ORDER BY fiyat DESC', outputType: 'array', parameters: [{ name: 'minFiyat', type: 'number', value: 1000 }] } — yalnız OKUYAN query bağlanır.",
|
|
9
|
-
"describe": "connect_data_describe { source: { kind: 'query', id } } → pageMode: client, alanlarda canFilter:false, source.parameters: [{ name: 'minFiyat' }]. Sıralama SQL'in ORDER BY'ındadır.",
|
|
10
|
-
"params": "params adları source.parameters'tan (bilinmeyen ad CD-013 block). '$ad' değeri sayfa/uygulama değişkeninden okunur; tanımlı değilse CD-014 warn (runtime null gönderir).",
|
|
11
|
-
"stateFirst": "variable_create { pageId, variables: [{ key: 'minFiyat', value: 3000 }] } — $minFiyat'ın runtime'daki başlangıç değeri.",
|
|
12
|
-
"forbidden": "query kaynağında filter, sort, filterable, searchable, edit, expand, lookup yok (CD-013); sort verilirse CD-002 de 'query kaynağı sunucuda sıralamaz' der.",
|
|
13
|
-
"preview": "Önizleme $ad'ı sayfa durumundan DOLDURMAZ: request.params verin, yoksa sonuç sessizce boş döner (CD-014 warn).",
|
|
14
|
-
"clientPaging": "pageMode client: runtime ilk 1000 satırı alır, süzme/sayfalama tarayıcıda (CD-007 warn)."
|
|
15
|
-
},
|
|
16
|
-
"connectDataBindArgs": {
|
|
17
|
-
"applicationId": "<application id>",
|
|
18
|
-
"pageId": "<page id>",
|
|
19
|
-
"element": "dt_query",
|
|
20
|
-
"prop": "rows",
|
|
21
|
-
"source": {
|
|
22
|
-
"kind": "query",
|
|
23
|
-
"id": "<fiyata-gore-urunler query id>"
|
|
24
|
-
},
|
|
25
|
-
"fields": [
|
|
26
|
-
"ad",
|
|
27
|
-
"kategori",
|
|
28
|
-
"fiyat",
|
|
29
|
-
"stok"
|
|
30
|
-
],
|
|
31
|
-
"params": {
|
|
32
|
-
"minFiyat": "$minFiyat"
|
|
33
|
-
},
|
|
34
|
-
"dryRun": true
|
|
35
|
-
},
|
|
36
|
-
"expectedFindings": [
|
|
37
|
-
"CD-007 warn (client sayfalama)"
|
|
38
|
-
],
|
|
39
|
-
"previewArgs": {
|
|
40
|
-
"applicationId": "<application id>",
|
|
41
|
-
"pageId": "<page id>",
|
|
42
|
-
"element": "dt_query",
|
|
43
|
-
"prop": "rows",
|
|
44
|
-
"request": {
|
|
45
|
-
"params": {
|
|
46
|
-
"minFiyat": 6000
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"synthetic": false,
|
|
4
|
-
"note": "datatable'ı flow yazmadan bir entity'ye bağlar. Canlı doğrulandı (2026-09-17, development rolkompleks, smoke-connect-data): dryRun findings [], yazma touched [tbl1], runtime.propType connectData, ekran 1 to 10 of 110.",
|
|
5
|
-
"harvestedFrom": "plans/connect-data g-12 canlı koşusu"
|
|
6
|
-
},
|
|
7
|
-
"_rules": {
|
|
8
|
-
"oneCall": "connect_data_bind bileşen kaydını (component_get.connectData), kaynağın kabiliyetini (connect_data_describe) okur, set_connect_data + columns'u tek atomik yamayla yazar. Önce dryRun: true.",
|
|
9
|
-
"fields": "Liste bileşeninde fields görünen kolonların sırasıdır; verilmezse bütün görünür alanlar seçilir.",
|
|
10
|
-
"expand": "İlişki alanı satırda hedef nesnesi olarak gelir (sube: { id, ad }); columns: 'auto' ilişkiye relation kolonu üretir.",
|
|
11
|
-
"filterable": "filterable/searchable seçili alanlardan olur (CD-004). Korumalı alanda (tckn) yalnız eq/neq/in/notin çalışır; kolonun işleç listesini runtime sunucudan alır.",
|
|
12
|
-
"policy": "Tanımdaki alanı politika gizliyorsa kullanıcı onu yanıtta ve kolonda görmez; ayrıca gizlemeye gerek yok.",
|
|
13
|
-
"verify": "connect_data_get → page_screenshot (runtimeErrors boş, satırlar çizili) → connect_data_preview { asUserId } başka kullanıcının gözüyle.",
|
|
14
|
-
"forbidden": "Bağlı rows'a flow setter ya da set_binding yazılmaz (CD-005)."
|
|
15
|
-
},
|
|
16
|
-
"connectDataBindArgs": {
|
|
17
|
-
"applicationId": "<application id>",
|
|
18
|
-
"pageId": "<page id>",
|
|
19
|
-
"element": "tbl1",
|
|
20
|
-
"prop": "rows",
|
|
21
|
-
"source": {
|
|
22
|
-
"kind": "entity",
|
|
23
|
-
"id": "<cd_musteriler entity id>"
|
|
24
|
-
},
|
|
25
|
-
"fields": [
|
|
26
|
-
"ad",
|
|
27
|
-
"soyad",
|
|
28
|
-
"tckn",
|
|
29
|
-
"puan",
|
|
30
|
-
"sube"
|
|
31
|
-
],
|
|
32
|
-
"expand": {
|
|
33
|
-
"sube": [
|
|
34
|
-
"ad"
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
"filterable": [
|
|
38
|
-
"ad",
|
|
39
|
-
"tckn",
|
|
40
|
-
"puan"
|
|
41
|
-
],
|
|
42
|
-
"searchable": [
|
|
43
|
-
"ad",
|
|
44
|
-
"soyad"
|
|
45
|
-
],
|
|
46
|
-
"pageSize": 25
|
|
47
|
-
},
|
|
48
|
-
"resultingDefinition": {
|
|
49
|
-
"version": 1,
|
|
50
|
-
"source": {
|
|
51
|
-
"kind": "entity",
|
|
52
|
-
"id": "<cd_musteriler entity id>",
|
|
53
|
-
"slug": "cd_musteriler"
|
|
54
|
-
},
|
|
55
|
-
"fields": [
|
|
56
|
-
{
|
|
57
|
-
"id": "<ad field id>",
|
|
58
|
-
"slug": "ad"
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"id": "<soyad field id>",
|
|
62
|
-
"slug": "soyad"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"id": "<tckn field id>",
|
|
66
|
-
"slug": "tckn"
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"id": "<puan field id>",
|
|
70
|
-
"slug": "puan"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"id": "<sube field id>",
|
|
74
|
-
"slug": "sube",
|
|
75
|
-
"expand": [
|
|
76
|
-
{
|
|
77
|
-
"slug": "ad"
|
|
78
|
-
}
|
|
79
|
-
]
|
|
80
|
-
}
|
|
81
|
-
],
|
|
82
|
-
"filter": null,
|
|
83
|
-
"sort": [
|
|
84
|
-
{
|
|
85
|
-
"field": "ad",
|
|
86
|
-
"ascending": true
|
|
87
|
-
}
|
|
88
|
-
],
|
|
89
|
-
"page": {
|
|
90
|
-
"mode": "offset",
|
|
91
|
-
"limit": 25
|
|
92
|
-
},
|
|
93
|
-
"language": "request",
|
|
94
|
-
"mapping": {
|
|
95
|
-
"roles": {},
|
|
96
|
-
"columns": [
|
|
97
|
-
{
|
|
98
|
-
"field": "ad"
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
"field": "soyad"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
"field": "tckn"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"field": "puan"
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"field": "sube"
|
|
111
|
-
}
|
|
112
|
-
]
|
|
113
|
-
},
|
|
114
|
-
"behavior": {
|
|
115
|
-
"filterable": [
|
|
116
|
-
"ad",
|
|
117
|
-
"tckn",
|
|
118
|
-
"puan"
|
|
119
|
-
],
|
|
120
|
-
"searchable": [
|
|
121
|
-
"ad",
|
|
122
|
-
"soyad"
|
|
123
|
-
],
|
|
124
|
-
"edit": {
|
|
125
|
-
"create": false,
|
|
126
|
-
"update": false,
|
|
127
|
-
"delete": false,
|
|
128
|
-
"bulk": false,
|
|
129
|
-
"saveMode": "row",
|
|
130
|
-
"editable": [],
|
|
131
|
-
"defaults": {},
|
|
132
|
-
"writeMode": "atomic"
|
|
133
|
-
},
|
|
134
|
-
"refresh": {
|
|
135
|
-
"afterWrite": "reload",
|
|
136
|
-
"poll": null
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
"generatedColumns": [
|
|
141
|
-
"ad:text",
|
|
142
|
-
"soyad:text",
|
|
143
|
-
"tckn:text",
|
|
144
|
-
"puan:number",
|
|
145
|
-
"sube:relation"
|
|
146
|
-
]
|
|
147
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"synthetic": false,
|
|
4
|
-
"note": "Workflow ve microservice kaynağını datatable'a bağlar. Canlı ölçüldü (2026-09-21, cdt-mcp, koşu 38/04): workflow params 5000 → 4 satır (mode client); table ucu tanım filtresi fiyat gte 1000 ∧ istek filtresi kategori eq Elektronik → 4 satır, fiyat azalan.",
|
|
5
|
-
"harvestedFrom": "zeyrek-mcp/docs/38-connect-data-kabul-kosusu/04-mcp-uctan-uca.md Başlık 1"
|
|
6
|
-
},
|
|
7
|
-
"_rules": {
|
|
8
|
-
"workflowShape": "Workflow bağlanabilmesi için returnBehavior: 'array' ve dönüş DTO'su (returnDtoId) şarttır; parametreler parameterBehavior: 'object' + girdi DTO'suyla tanımlanır ve bağlantının params'ından gelir. Kaynak listesi (connect_data_sources) yalnız çıktı DTO'lu workflow'ları verir; alanlar dönüş DTO'sundan okunur.",
|
|
9
|
-
"workflowPaging": "Workflow sunucuda sayfalamaz ve süzmez: pageMode client (CD-007), filter/sort/filterable yok (CD-013).",
|
|
10
|
-
"microserviceShape": "Microservice yalnız OKUYAN, middleware'siz, dönüş şeması olan uçta bağlanır (yazan tablo ucu 422). Tablo ucunda enableDynamicFilters: true alanları canFilter/sortable yapar; sort/limit query-string parametresiyle offset sayfalama açılır. Query kaynaklı uç client kipte kalır.",
|
|
11
|
-
"microserviceFilter": "Tanım filtresi uçta her istekte uygulanır; kullanıcı filtresi (filterable) onunla AND'lenir.",
|
|
12
|
-
"verify": "connect_data_preview (Studio ucu) → kompleks projede connect_data_execute { op: 'list', asUserId }."
|
|
13
|
-
},
|
|
14
|
-
"workflowBindArgs": {
|
|
15
|
-
"applicationId": "<application id>",
|
|
16
|
-
"pageId": "<page id>",
|
|
17
|
-
"element": "dt_wf",
|
|
18
|
-
"prop": "rows",
|
|
19
|
-
"source": {
|
|
20
|
-
"kind": "workflow",
|
|
21
|
-
"id": "<pahali-urunler workflow id>"
|
|
22
|
-
},
|
|
23
|
-
"fields": [
|
|
24
|
-
"ad",
|
|
25
|
-
"kategori",
|
|
26
|
-
"fiyat"
|
|
27
|
-
],
|
|
28
|
-
"params": {
|
|
29
|
-
"minFiyat": 5000
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"connectDataBindArgs": {
|
|
33
|
-
"applicationId": "<application id>",
|
|
34
|
-
"pageId": "<page id>",
|
|
35
|
-
"element": "dt_ms",
|
|
36
|
-
"prop": "rows",
|
|
37
|
-
"source": {
|
|
38
|
-
"kind": "microservice",
|
|
39
|
-
"id": "<urun-listesi microservice id>"
|
|
40
|
-
},
|
|
41
|
-
"fields": [
|
|
42
|
-
"ad",
|
|
43
|
-
"kategori",
|
|
44
|
-
"fiyat",
|
|
45
|
-
"stok"
|
|
46
|
-
],
|
|
47
|
-
"filter": {
|
|
48
|
-
"filterType": "single",
|
|
49
|
-
"field": "fiyat",
|
|
50
|
-
"operator": "gte",
|
|
51
|
-
"value": 1000
|
|
52
|
-
},
|
|
53
|
-
"sort": [
|
|
54
|
-
{
|
|
55
|
-
"field": "fiyat",
|
|
56
|
-
"ascending": false
|
|
57
|
-
}
|
|
58
|
-
],
|
|
59
|
-
"filterable": [
|
|
60
|
-
"kategori",
|
|
61
|
-
"fiyat"
|
|
62
|
-
],
|
|
63
|
-
"pageSize": 5
|
|
64
|
-
}
|
|
65
|
-
}
|