@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.
Files changed (203) hide show
  1. package/.env.example +0 -15
  2. package/README.md +5 -5
  3. package/dist/config.js +0 -37
  4. package/dist/index.js +0 -2
  5. package/dist/knowledge/backendConstraints.js +1 -18
  6. package/dist/knowledge/boxSections.js +184 -0
  7. package/dist/knowledge/componentCatalog.js +232 -562
  8. package/dist/knowledge/componentEvents.js +21 -141
  9. package/dist/knowledge/layoutSummary.js +2 -140
  10. package/dist/knowledge/normalize.js +67 -236
  11. package/dist/knowledge/outlines.js +0 -36
  12. package/dist/knowledge/policy.js +4 -18
  13. package/dist/knowledge/reservedTables.js +0 -79
  14. package/dist/knowledge/rules.js +21 -319
  15. package/dist/knowledge/schemaGuard.js +0 -11
  16. package/dist/knowledge/styleResolve.js +38 -55
  17. package/dist/knowledge/themeResolve.js +3 -3
  18. package/dist/observability/trace.js +3 -6
  19. package/dist/platform/diagnostics.js +4 -10
  20. package/dist/platform/domSummary.js +1 -1
  21. package/dist/platform/errors.js +10 -162
  22. package/dist/platform/http.js +8 -29
  23. package/dist/platform/responses.js +5 -39
  24. package/dist/platform/{capture/capture.js → screenshot.js} +519 -105
  25. package/dist/platform/secrets.js +1 -17
  26. package/dist/platform/strictArguments.js +12 -68
  27. package/dist/platform/tokenVault.js +4 -187
  28. package/dist/resources/examples/layout-app-shell.json +707 -229
  29. package/dist/resources/examples/page-detail-profile.json +1 -2
  30. package/dist/resources/examples/page-dynamic-form.json +2 -3
  31. package/dist/resources/examples/page-flex-sections.json +1 -1
  32. package/dist/resources/examples/page-html-embed.json +1 -1
  33. package/dist/resources/examples/workflow-basic.json +2 -8
  34. package/dist/resources/guides/component.md +4 -91
  35. package/dist/resources/guides/entity.md +8 -50
  36. package/dist/resources/guides/expressions.md +5 -14
  37. package/dist/resources/guides/functions.md +1 -1
  38. package/dist/resources/guides/getting-started.md +1 -38
  39. package/dist/resources/guides/layout.md +58 -55
  40. package/dist/resources/guides/microservice.md +2 -81
  41. package/dist/resources/guides/middleware.md +2 -44
  42. package/dist/resources/guides/page.md +75 -454
  43. package/dist/resources/guides/theme.md +2 -8
  44. package/dist/resources/guides/translation.md +1 -1
  45. package/dist/resources/guides/workflow.md +1 -58
  46. package/dist/resources/rules.js +5 -11
  47. package/dist/resources/schema-fingerprint.json +5 -7
  48. package/dist/resources/schemas/CreateEntityCommand.json +0 -118
  49. package/dist/resources/schemas/CreateMicroserviceCommand.json +1 -13
  50. package/dist/resources/schemas/CreateQueryCommand.json +0 -4
  51. package/dist/resources/schemas/CreateWorkflowCommand.json +1 -143
  52. package/dist/resources/schemas/DataJobDto.json +1 -6
  53. package/dist/resources/schemas/GlobalFunctionUpdateResultDto.json +1 -21
  54. package/dist/resources/schemas/MicroserviceDto.json +3 -15
  55. package/dist/resources/schemas/PreviewMicroserviceCommand.json +1 -10
  56. package/dist/resources/schemas/PreviewWorkflowCommand.json +1 -22
  57. package/dist/resources/schemas/StepDto.json +1 -22
  58. package/dist/resources/schemas/UpdateEntityCommand.json +0 -118
  59. package/dist/resources/schemas/UpdateMicroserviceCommand.json +1 -13
  60. package/dist/resources/schemas/UpdateQueryCommand.json +0 -4
  61. package/dist/resources/schemas/UpdateViewCommand.json +2 -0
  62. package/dist/resources/schemas/UpdateWorkflowCommand.json +1 -143
  63. package/dist/server.js +1 -27
  64. package/dist/tools/access.js +2 -369
  65. package/dist/tools/applications.js +3 -60
  66. package/dist/tools/common.js +0 -7
  67. package/dist/tools/components.js +14 -118
  68. package/dist/tools/datasources.js +3 -3
  69. package/dist/tools/dependencies.js +1 -1
  70. package/dist/tools/deployments.js +2 -2
  71. package/dist/tools/designSchemaPatch.js +18 -34
  72. package/dist/tools/dtos.js +5 -36
  73. package/dist/tools/entities.js +12 -79
  74. package/dist/tools/externalComponents.js +5 -26
  75. package/dist/tools/flows.js +14 -122
  76. package/dist/tools/folders.js +1 -1
  77. package/dist/tools/imports.js +2 -5
  78. package/dist/tools/layouts.js +17 -50
  79. package/dist/tools/merges.js +1 -1
  80. package/dist/tools/microservices.js +25 -77
  81. package/dist/tools/pages.js +112 -465
  82. package/dist/tools/platformInfo.js +8 -27
  83. package/dist/tools/projects.js +9 -71
  84. package/dist/tools/rows.js +13 -69
  85. package/dist/tools/schemaOps.js +1 -61
  86. package/dist/tools/screenWrite.js +8 -37
  87. package/dist/tools/screens.js +5 -95
  88. package/dist/tools/templates.js +1 -26
  89. package/dist/tools/translations.js +1 -1
  90. package/dist/tools/variables.js +5 -11
  91. package/dist/tools/workflows.js +5 -10
  92. package/package.json +2 -2
  93. package/dist/knowledge/access.js +0 -802
  94. package/dist/knowledge/case.js +0 -41
  95. package/dist/knowledge/connectDataBind.js +0 -819
  96. package/dist/knowledge/connectDataDefinition.js +0 -341
  97. package/dist/knowledge/connectDataExecute.js +0 -93
  98. package/dist/knowledge/connectDataRules.js +0 -128
  99. package/dist/knowledge/decision.js +0 -121
  100. package/dist/knowledge/expressionPrelude.js +0 -59
  101. package/dist/knowledge/microserviceParameters.js +0 -58
  102. package/dist/knowledge/mining.js +0 -94
  103. package/dist/knowledge/mobileComponentCatalog.js +0 -859
  104. package/dist/knowledge/mobileComponentEvents.js +0 -239
  105. package/dist/knowledge/platform/lint.js +0 -385
  106. package/dist/knowledge/platform/mobile.js +0 -142
  107. package/dist/knowledge/platform/mobileLayoutLint.js +0 -324
  108. package/dist/knowledge/platform/mobileRules.js +0 -231
  109. package/dist/knowledge/platform/mobileSpacing.js +0 -82
  110. package/dist/knowledge/platform/mobileTabs.js +0 -108
  111. package/dist/knowledge/platform/nativeBoxModel.js +0 -44
  112. package/dist/knowledge/platform/profile.js +0 -25
  113. package/dist/knowledge/platform/resolve.js +0 -122
  114. package/dist/knowledge/platform/web.js +0 -39
  115. package/dist/knowledge/process.js +0 -510
  116. package/dist/knowledge/rowFilter.js +0 -43
  117. package/dist/knowledge/styleResolveNative.js +0 -527
  118. package/dist/platform/argumentAliases.js +0 -128
  119. package/dist/platform/bodyFile.js +0 -103
  120. package/dist/platform/capture/actions.js +0 -333
  121. package/dist/platform/capture/browser.js +0 -1
  122. package/dist/platform/capture/console-log.js +0 -122
  123. package/dist/platform/capture/index.js +0 -11
  124. package/dist/platform/capture/readiness.js +0 -103
  125. package/dist/platform/capture/summary.js +0 -77
  126. package/dist/platform/capture/target.js +0 -5
  127. package/dist/platform/capture/targets/studio-mobile.js +0 -15
  128. package/dist/platform/capture/targets/studio-web.js +0 -5
  129. package/dist/platform/impersonation.js +0 -45
  130. package/dist/platform/jsonArray.js +0 -24
  131. package/dist/platform/schemaReadMemory.js +0 -60
  132. package/dist/resources/examples/bpm-gorev-kontrol.json +0 -294
  133. package/dist/resources/examples/bpm-iso-dokuman.json +0 -228
  134. package/dist/resources/examples/bpm-satinalma.json +0 -376
  135. package/dist/resources/examples/connect-data-convert-verify.json +0 -107
  136. package/dist/resources/examples/connect-data-dropdown-roles.json +0 -66
  137. package/dist/resources/examples/connect-data-edit-m2m.json +0 -73
  138. package/dist/resources/examples/connect-data-query-params.json +0 -50
  139. package/dist/resources/examples/connect-data-table-entity.json +0 -147
  140. package/dist/resources/examples/connect-data-workflow-microservice.json +0 -65
  141. package/dist/resources/examples/mobile-app-shell-drawer.json +0 -243
  142. package/dist/resources/examples/mobile-app-shell-stack.json +0 -157
  143. package/dist/resources/examples/mobile-app-shell-tab.json +0 -208
  144. package/dist/resources/examples/mobile-form-screen.json +0 -365
  145. package/dist/resources/examples/mobile-list-detail-form.json +0 -672
  146. package/dist/resources/guides/access.md +0 -796
  147. package/dist/resources/guides/bpm.md +0 -686
  148. package/dist/resources/guides/case.md +0 -153
  149. package/dist/resources/guides/decision.md +0 -185
  150. package/dist/resources/guides/mobile-layout.md +0 -193
  151. package/dist/resources/guides/mobile.md +0 -495
  152. package/dist/resources/read.js +0 -41
  153. package/dist/resources/schemas/AccessExplanationDto.json +0 -144
  154. package/dist/resources/schemas/AccessMatrixDto.json +0 -170
  155. package/dist/resources/schemas/AccessPermissionDto.json +0 -57
  156. package/dist/resources/schemas/AccessPolicyDto.json +0 -223
  157. package/dist/resources/schemas/AccessResourceDto.json +0 -86
  158. package/dist/resources/schemas/AppSessionDto.json +0 -53
  159. package/dist/resources/schemas/ConnectDataDescribeDto.json +0 -344
  160. package/dist/resources/schemas/ConnectDataRequestModel.json +0 -202
  161. package/dist/resources/schemas/ConnectDataResultDto.json +0 -421
  162. package/dist/resources/schemas/ConnectorCredentialDto.json +0 -70
  163. package/dist/resources/schemas/ConvertConnectDataToMicroserviceCommand.json +0 -37
  164. package/dist/resources/schemas/CreateAccessPolicyCommand.json +0 -209
  165. package/dist/resources/schemas/CreateDecisionCommand.json +0 -221
  166. package/dist/resources/schemas/CreateProcessDefinitionCommand.json +0 -1337
  167. package/dist/resources/schemas/DecisionDto.json +0 -302
  168. package/dist/resources/schemas/DetachConnectDataMicroserviceCommand.json +0 -28
  169. package/dist/resources/schemas/ExplainAccessQuery.json +0 -33
  170. package/dist/resources/schemas/GenerateProcessDocumentCommand.json +0 -116
  171. package/dist/resources/schemas/OrganizationProjectDto.json +0 -335
  172. package/dist/resources/schemas/OrganizationSchemaDto.json +0 -196
  173. package/dist/resources/schemas/OrganizationSchemaVersionDto.json +0 -207
  174. package/dist/resources/schemas/PatchProcessDefinitionCommand.json +0 -76
  175. package/dist/resources/schemas/ProcessDefinitionDto.json +0 -1480
  176. package/dist/resources/schemas/ProcessSimulationDto.json +0 -96
  177. package/dist/resources/schemas/SaveConnectorCredentialCommand.json +0 -90
  178. package/dist/resources/schemas/SaveProcessEventSourceCommand.json +0 -61
  179. package/dist/resources/schemas/SaveProcessMailSourceCommand.json +0 -89
  180. package/dist/resources/schemas/SignProcessTaskCommand.json +0 -73
  181. package/dist/resources/schemas/SimulateProcessDefinitionQuery.json +0 -92
  182. package/dist/resources/schemas/UpdateAccessPolicyCommand.json +0 -209
  183. package/dist/resources/schemas/UpdateDecisionCommand.json +0 -216
  184. package/dist/resources/schemas/UpdateProcessDefinitionCommand.json +0 -1357
  185. package/dist/resources/schemas/ValidateProcessDefinitionQuery.json +0 -1339
  186. package/dist/tools/accessOperations.js +0 -135
  187. package/dist/tools/accessPolicies.js +0 -170
  188. package/dist/tools/accessRuntime.js +0 -203
  189. package/dist/tools/bpm.js +0 -343
  190. package/dist/tools/bpmGovernance.js +0 -266
  191. package/dist/tools/bpmOperations.js +0 -230
  192. package/dist/tools/bpmReporting.js +0 -154
  193. package/dist/tools/bpmRouting.js +0 -150
  194. package/dist/tools/bpmRuntime.js +0 -396
  195. package/dist/tools/case.js +0 -178
  196. package/dist/tools/caseRuntime.js +0 -89
  197. package/dist/tools/connectData.js +0 -449
  198. package/dist/tools/connectors.js +0 -193
  199. package/dist/tools/decisions.js +0 -206
  200. package/dist/tools/mobile.js +0 -221
  201. package/dist/tools/modules.js +0 -48
  202. package/dist/tools/organizationStructure.js +0 -137
  203. 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
- }