@appaflytech/zeyrek-ai-mcp 0.0.31 → 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 (205) 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 +233 -568
  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 -366
  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/middleware-authenticate.json +1 -1
  30. package/dist/resources/examples/page-detail-profile.json +1 -2
  31. package/dist/resources/examples/page-dynamic-form.json +2 -3
  32. package/dist/resources/examples/page-flex-sections.json +1 -1
  33. package/dist/resources/examples/page-html-embed.json +1 -1
  34. package/dist/resources/examples/workflow-basic.json +2 -8
  35. package/dist/resources/guides/component.md +5 -92
  36. package/dist/resources/guides/entity.md +8 -50
  37. package/dist/resources/guides/expressions.md +5 -14
  38. package/dist/resources/guides/functions.md +1 -1
  39. package/dist/resources/guides/getting-started.md +1 -38
  40. package/dist/resources/guides/layout.md +58 -55
  41. package/dist/resources/guides/merge.md +3 -37
  42. package/dist/resources/guides/microservice.md +2 -87
  43. package/dist/resources/guides/middleware.md +4 -68
  44. package/dist/resources/guides/page.md +75 -456
  45. package/dist/resources/guides/theme.md +2 -8
  46. package/dist/resources/guides/translation.md +1 -1
  47. package/dist/resources/guides/workflow.md +1 -58
  48. package/dist/resources/rules.js +5 -11
  49. package/dist/resources/schema-fingerprint.json +5 -7
  50. package/dist/resources/schemas/CreateEntityCommand.json +0 -118
  51. package/dist/resources/schemas/CreateMicroserviceCommand.json +1 -13
  52. package/dist/resources/schemas/CreateQueryCommand.json +0 -4
  53. package/dist/resources/schemas/CreateWorkflowCommand.json +1 -146
  54. package/dist/resources/schemas/DataJobDto.json +1 -6
  55. package/dist/resources/schemas/GlobalFunctionUpdateResultDto.json +1 -21
  56. package/dist/resources/schemas/MicroserviceDto.json +3 -15
  57. package/dist/resources/schemas/PreviewMicroserviceCommand.json +1 -10
  58. package/dist/resources/schemas/PreviewWorkflowCommand.json +1 -25
  59. package/dist/resources/schemas/StepDto.json +1 -25
  60. package/dist/resources/schemas/UpdateEntityCommand.json +0 -118
  61. package/dist/resources/schemas/UpdateMicroserviceCommand.json +1 -13
  62. package/dist/resources/schemas/UpdateQueryCommand.json +0 -4
  63. package/dist/resources/schemas/UpdateViewCommand.json +2 -0
  64. package/dist/resources/schemas/UpdateWorkflowCommand.json +1 -146
  65. package/dist/server.js +1 -27
  66. package/dist/tools/access.js +2 -369
  67. package/dist/tools/applications.js +3 -60
  68. package/dist/tools/common.js +0 -7
  69. package/dist/tools/components.js +14 -118
  70. package/dist/tools/datasources.js +3 -3
  71. package/dist/tools/dependencies.js +1 -1
  72. package/dist/tools/deployments.js +3 -38
  73. package/dist/tools/designSchemaPatch.js +18 -34
  74. package/dist/tools/dtos.js +5 -36
  75. package/dist/tools/entities.js +12 -79
  76. package/dist/tools/externalComponents.js +5 -26
  77. package/dist/tools/flows.js +14 -122
  78. package/dist/tools/folders.js +1 -1
  79. package/dist/tools/imports.js +2 -5
  80. package/dist/tools/layouts.js +17 -50
  81. package/dist/tools/merges.js +2 -2
  82. package/dist/tools/microservices.js +25 -77
  83. package/dist/tools/pages.js +112 -465
  84. package/dist/tools/platformInfo.js +8 -27
  85. package/dist/tools/projects.js +9 -71
  86. package/dist/tools/rows.js +13 -69
  87. package/dist/tools/schemaOps.js +1 -61
  88. package/dist/tools/screenWrite.js +8 -37
  89. package/dist/tools/screens.js +5 -95
  90. package/dist/tools/templates.js +1 -26
  91. package/dist/tools/translations.js +1 -1
  92. package/dist/tools/variables.js +5 -11
  93. package/dist/tools/workflows.js +5 -10
  94. package/package.json +1 -1
  95. package/dist/knowledge/access.js +0 -802
  96. package/dist/knowledge/case.js +0 -41
  97. package/dist/knowledge/connectDataBind.js +0 -819
  98. package/dist/knowledge/connectDataDefinition.js +0 -341
  99. package/dist/knowledge/connectDataExecute.js +0 -93
  100. package/dist/knowledge/connectDataRules.js +0 -128
  101. package/dist/knowledge/decision.js +0 -121
  102. package/dist/knowledge/expressionPrelude.js +0 -59
  103. package/dist/knowledge/microserviceParameters.js +0 -58
  104. package/dist/knowledge/mining.js +0 -94
  105. package/dist/knowledge/mobileComponentCatalog.js +0 -859
  106. package/dist/knowledge/mobileComponentEvents.js +0 -239
  107. package/dist/knowledge/platform/lint.js +0 -385
  108. package/dist/knowledge/platform/mobile.js +0 -142
  109. package/dist/knowledge/platform/mobileLayoutLint.js +0 -324
  110. package/dist/knowledge/platform/mobileRules.js +0 -231
  111. package/dist/knowledge/platform/mobileSpacing.js +0 -82
  112. package/dist/knowledge/platform/mobileTabs.js +0 -108
  113. package/dist/knowledge/platform/nativeBoxModel.js +0 -44
  114. package/dist/knowledge/platform/profile.js +0 -25
  115. package/dist/knowledge/platform/resolve.js +0 -122
  116. package/dist/knowledge/platform/web.js +0 -39
  117. package/dist/knowledge/process.js +0 -510
  118. package/dist/knowledge/rowFilter.js +0 -43
  119. package/dist/knowledge/styleResolveNative.js +0 -527
  120. package/dist/platform/argumentAliases.js +0 -128
  121. package/dist/platform/bodyFile.js +0 -103
  122. package/dist/platform/capture/actions.js +0 -333
  123. package/dist/platform/capture/browser.js +0 -1
  124. package/dist/platform/capture/console-log.js +0 -122
  125. package/dist/platform/capture/index.js +0 -11
  126. package/dist/platform/capture/readiness.js +0 -103
  127. package/dist/platform/capture/summary.js +0 -77
  128. package/dist/platform/capture/target.js +0 -5
  129. package/dist/platform/capture/targets/studio-mobile.js +0 -15
  130. package/dist/platform/capture/targets/studio-web.js +0 -5
  131. package/dist/platform/impersonation.js +0 -45
  132. package/dist/platform/jsonArray.js +0 -24
  133. package/dist/platform/schemaReadMemory.js +0 -60
  134. package/dist/resources/examples/bpm-gorev-kontrol.json +0 -294
  135. package/dist/resources/examples/bpm-iso-dokuman.json +0 -228
  136. package/dist/resources/examples/bpm-satinalma.json +0 -376
  137. package/dist/resources/examples/connect-data-convert-verify.json +0 -107
  138. package/dist/resources/examples/connect-data-dropdown-roles.json +0 -66
  139. package/dist/resources/examples/connect-data-edit-m2m.json +0 -73
  140. package/dist/resources/examples/connect-data-query-params.json +0 -50
  141. package/dist/resources/examples/connect-data-table-entity.json +0 -147
  142. package/dist/resources/examples/connect-data-workflow-microservice.json +0 -65
  143. package/dist/resources/examples/mobile-app-shell-drawer.json +0 -243
  144. package/dist/resources/examples/mobile-app-shell-stack.json +0 -157
  145. package/dist/resources/examples/mobile-app-shell-tab.json +0 -208
  146. package/dist/resources/examples/mobile-form-screen.json +0 -365
  147. package/dist/resources/examples/mobile-list-detail-form.json +0 -672
  148. package/dist/resources/guides/access.md +0 -810
  149. package/dist/resources/guides/bpm.md +0 -691
  150. package/dist/resources/guides/case.md +0 -153
  151. package/dist/resources/guides/decision.md +0 -185
  152. package/dist/resources/guides/mobile-layout.md +0 -193
  153. package/dist/resources/guides/mobile.md +0 -495
  154. package/dist/resources/read.js +0 -41
  155. package/dist/resources/schemas/AccessExplanationDto.json +0 -144
  156. package/dist/resources/schemas/AccessMatrixDto.json +0 -170
  157. package/dist/resources/schemas/AccessPermissionDto.json +0 -57
  158. package/dist/resources/schemas/AccessPolicyDto.json +0 -223
  159. package/dist/resources/schemas/AccessResourceDto.json +0 -86
  160. package/dist/resources/schemas/AppSessionDto.json +0 -53
  161. package/dist/resources/schemas/ConnectDataDescribeDto.json +0 -344
  162. package/dist/resources/schemas/ConnectDataRequestModel.json +0 -202
  163. package/dist/resources/schemas/ConnectDataResultDto.json +0 -421
  164. package/dist/resources/schemas/ConnectorCredentialDto.json +0 -70
  165. package/dist/resources/schemas/ConvertConnectDataToMicroserviceCommand.json +0 -37
  166. package/dist/resources/schemas/CreateAccessPolicyCommand.json +0 -209
  167. package/dist/resources/schemas/CreateDecisionCommand.json +0 -221
  168. package/dist/resources/schemas/CreateProcessDefinitionCommand.json +0 -1337
  169. package/dist/resources/schemas/DecisionDto.json +0 -302
  170. package/dist/resources/schemas/DetachConnectDataMicroserviceCommand.json +0 -28
  171. package/dist/resources/schemas/ExplainAccessQuery.json +0 -33
  172. package/dist/resources/schemas/GenerateProcessDocumentCommand.json +0 -116
  173. package/dist/resources/schemas/OrganizationProjectDto.json +0 -335
  174. package/dist/resources/schemas/OrganizationSchemaDto.json +0 -196
  175. package/dist/resources/schemas/OrganizationSchemaVersionDto.json +0 -207
  176. package/dist/resources/schemas/PatchProcessDefinitionCommand.json +0 -76
  177. package/dist/resources/schemas/ProcessDefinitionDto.json +0 -1480
  178. package/dist/resources/schemas/ProcessSimulationDto.json +0 -96
  179. package/dist/resources/schemas/SaveConnectorCredentialCommand.json +0 -90
  180. package/dist/resources/schemas/SaveProcessEventSourceCommand.json +0 -61
  181. package/dist/resources/schemas/SaveProcessMailSourceCommand.json +0 -89
  182. package/dist/resources/schemas/SignProcessTaskCommand.json +0 -73
  183. package/dist/resources/schemas/SimulateProcessDefinitionQuery.json +0 -92
  184. package/dist/resources/schemas/UpdateAccessPolicyCommand.json +0 -209
  185. package/dist/resources/schemas/UpdateDecisionCommand.json +0 -216
  186. package/dist/resources/schemas/UpdateProcessDefinitionCommand.json +0 -1357
  187. package/dist/resources/schemas/ValidateProcessDefinitionQuery.json +0 -1339
  188. package/dist/tools/accessOperations.js +0 -135
  189. package/dist/tools/accessPolicies.js +0 -170
  190. package/dist/tools/accessRuntime.js +0 -203
  191. package/dist/tools/bpm.js +0 -343
  192. package/dist/tools/bpmGovernance.js +0 -266
  193. package/dist/tools/bpmOperations.js +0 -230
  194. package/dist/tools/bpmReporting.js +0 -154
  195. package/dist/tools/bpmRouting.js +0 -150
  196. package/dist/tools/bpmRuntime.js +0 -396
  197. package/dist/tools/case.js +0 -178
  198. package/dist/tools/caseRuntime.js +0 -89
  199. package/dist/tools/connectData.js +0 -449
  200. package/dist/tools/connectors.js +0 -193
  201. package/dist/tools/decisions.js +0 -206
  202. package/dist/tools/mobile.js +0 -221
  203. package/dist/tools/modules.js +0 -48
  204. package/dist/tools/organizationStructure.js +0 -137
  205. package/dist/tools/profileWrite.js +0 -92
@@ -1,243 +0,0 @@
1
- {
2
- "_meta": {
3
- "synthetic": true,
4
- "note": "Mobil uygulama kabuğu — ÇEKMECE: app-bar (leading 'menu' + menuTarget) + slot + drawer widget'ı. Çekmece ayar değil bileşendir; içindeki düğmeler sıradan redirect akışlarıyla sayfa açar. mobile_app_create drawer:true ile bu kabuğu kurar.",
5
- "pairsWith": "mobile-app-shell-stack, mobile-app-shell-tab",
6
- "sourceRef": "platform_guide('mobile') §Gezinme; plans/mobil-uygulama-expo/05-mobil-ayarlar-ve-gezinme.md §2.5, §8"
7
- },
8
- "_rules": {
9
- "flexOnly": "Mobil çizer yalnız flex'tir: blocks boş, sıra dizi indeksi, ölçü appearance ile (MOB-001). Kökte layout prop'u YOK — mobil container şeması onu düşürür.",
10
- "singleSlot": "TEK slot; sayfa şeması slot'a yerleşir (LAY-002 / LAY-006 web'dekiyle aynı).",
11
- "appBarTitle": "app-bar.title boşsa çubuk başlıksız çizilir — sayfa adına düşen bir yedek YOKTUR (runtime app-bar yalnız title'ı yazar; koşu 37 S-9, mizanpaj 06 kör koşusu). Sabit başlık için mobile_app_create title'ı, sayfaya göre değişen başlık için title'ı bir değişkene bağlayın ya da başlığı sayfanın içine text olarak koyun. leading 'auto' yığında geri düğmesi, kökte (menuTarget varsa) menü düğmesi çizer.",
12
- "catalog": "app-bar, slot ve drawer mobil kataloğun Dalga 1 bileşenleridir. component_list mobil uygulamada bunları döndürmüyorsa katalog henüz yazılmamıştır ve layout_create 422 unknown-type alır (MOB-003).",
13
- "verify": "Kabuğu layout'a bağlı bir sayfada page_screenshot ile doğrula (mobilde varsayılan device: 'phone').",
14
- "menuTarget": "app-bar.menuTarget çekmecenin elementId'sidir (nav_drawer); iç rol app_bar__menu düğmesidir — page_screenshot actions:[{ action:'click', target:'app_bar__menu' }] çekmeceyi açar.",
15
- "drawerFlows": "Menü düğmelerine akış ayrı adımda bağlanır: flow_create (host: 'layout', adım redirect { path: '<sayfa slug'ı>' }) → layout_schema_patch set_event { target: 'menu_gorevler', event: 'click' }.",
16
- "drawerNode": "Çekmece mobil kataloğun `drawer` bileşenidir (kind 'component', çocuk alır): layout'a doğrudan yazılır, prop'ları katalogdakilerdir (`position`, `size`, `title`, `isDismissDisabled`); kapalı doğar, `app-bar` menüsü `isOpen: true` yazarak açar. Katalogda olmayan prop (ör. `width`, `overlay`) ya da seçenek dışı değer (düğmede `variant: 'ghost'` — geçerli olanlar `solid`/`text`/`outline`) layout_create'i 422 ile düşürür.",
17
- "layoutContract": "Mizanpaj sözleşmesi: üst güvenli alan tek yerde, kabukta (app-bar 'safe-area' edges:'top' içinde; sayfa ikinci pay vermez). Ekran kenarı boşluğu tek değer (16) ve tek yerde: slot'un yatay ve üst margin'i — içerik app-bar'ın 16 dp altından başlar, kabuksuz sayfadaki gibi. shell_root 'shrink' ve padding'siz — düz container olduğu için tip yazılmazsa runtime 10 dp padding verir ve app-bar kenardan kopar."
18
- },
19
- "mobileAppCreate": {
20
- "slug": "saha-menu",
21
- "name": "Saha",
22
- "drawer": true,
23
- "pages": [
24
- {
25
- "pageSlug": "gorevler",
26
- "pageName": "Görevler"
27
- },
28
- {
29
- "pageSlug": "profil",
30
- "pageName": "Profil"
31
- }
32
- ]
33
- },
34
- "layoutCreate": {
35
- "name": "Mobil kabuk",
36
- "views": [
37
- {
38
- "elementId": "shell_root",
39
- "name": "shell_root",
40
- "type": "container",
41
- "kind": "component",
42
- "props": {
43
- "title": {
44
- "type": "static",
45
- "ref": null,
46
- "data": ""
47
- },
48
- "direction": {
49
- "type": "static",
50
- "ref": null,
51
- "data": "column"
52
- },
53
- "gap": {
54
- "type": "static",
55
- "ref": null,
56
- "data": "none"
57
- },
58
- "size": {
59
- "type": "static",
60
- "ref": null,
61
- "data": "shrink"
62
- },
63
- "wrap": {
64
- "type": "static",
65
- "ref": null,
66
- "data": false
67
- }
68
- },
69
- "states": {
70
- "isDroppable": true,
71
- "isWrapper": true
72
- },
73
- "appearance": {
74
- "heightType": "fill",
75
- "widthType": "fill",
76
- "paddingType": "none"
77
- },
78
- "blocks": [],
79
- "events": [],
80
- "validations": [],
81
- "stateBindings": [],
82
- "children": [
83
- {
84
- "elementId": "sa_ust",
85
- "name": "sa_ust",
86
- "type": "safe-area",
87
- "kind": "component",
88
- "props": {
89
- "edges": {
90
- "type": "static",
91
- "ref": null,
92
- "data": "top"
93
- }
94
- },
95
- "states": {
96
- "isDroppable": true
97
- },
98
- "appearance": {
99
- "widthType": "fill"
100
- },
101
- "blocks": [],
102
- "events": [],
103
- "validations": [],
104
- "stateBindings": [],
105
- "children": [
106
- {
107
- "elementId": "app_bar",
108
- "name": "app_bar",
109
- "type": "app-bar",
110
- "kind": "component",
111
- "props": {
112
- "title": {
113
- "type": "static",
114
- "ref": null,
115
- "data": ""
116
- },
117
- "leading": {
118
- "type": "static",
119
- "ref": null,
120
- "data": "menu"
121
- },
122
- "menuTarget": {
123
- "type": "static",
124
- "ref": null,
125
- "data": "nav_drawer"
126
- }
127
- },
128
- "appearance": {
129
- "widthType": "fill"
130
- },
131
- "blocks": [],
132
- "events": [],
133
- "validations": [],
134
- "stateBindings": [],
135
- "children": []
136
- }
137
- ]
138
- },
139
- {
140
- "elementId": "page_slot",
141
- "name": "page_slot",
142
- "type": "slot",
143
- "kind": "component",
144
- "props": {},
145
- "appearance": {
146
- "widthType": "fill",
147
- "heightType": "fill",
148
- "marginType": "custom",
149
- "marginValues": {
150
- "top": 16,
151
- "right": 16,
152
- "bottom": 0,
153
- "left": 16
154
- }
155
- },
156
- "blocks": [],
157
- "events": [],
158
- "validations": [],
159
- "stateBindings": [],
160
- "children": []
161
- },
162
- {
163
- "elementId": "nav_drawer",
164
- "name": "nav_drawer",
165
- "type": "drawer",
166
- "kind": "component",
167
- "props": {
168
- "position": {
169
- "type": "static",
170
- "ref": null,
171
- "data": "left"
172
- },
173
- "size": {
174
- "type": "static",
175
- "ref": null,
176
- "data": "default"
177
- }
178
- },
179
- "appearance": {},
180
- "blocks": [],
181
- "events": [],
182
- "validations": [],
183
- "stateBindings": [],
184
- "children": [
185
- {
186
- "elementId": "menu_gorevler",
187
- "name": "menu_gorevler",
188
- "type": "button",
189
- "kind": "component",
190
- "props": {
191
- "text": {
192
- "type": "static",
193
- "ref": null,
194
- "data": "Görevler"
195
- },
196
- "variant": {
197
- "type": "static",
198
- "ref": null,
199
- "data": "text"
200
- }
201
- },
202
- "appearance": {
203
- "widthType": "fill"
204
- },
205
- "blocks": [],
206
- "events": [],
207
- "validations": [],
208
- "stateBindings": [],
209
- "children": []
210
- },
211
- {
212
- "elementId": "menu_profil",
213
- "name": "menu_profil",
214
- "type": "button",
215
- "kind": "component",
216
- "props": {
217
- "text": {
218
- "type": "static",
219
- "ref": null,
220
- "data": "Profil"
221
- },
222
- "variant": {
223
- "type": "static",
224
- "ref": null,
225
- "data": "text"
226
- }
227
- },
228
- "appearance": {
229
- "widthType": "fill"
230
- },
231
- "blocks": [],
232
- "events": [],
233
- "validations": [],
234
- "stateBindings": [],
235
- "children": []
236
- }
237
- ]
238
- }
239
- ]
240
- }
241
- ]
242
- }
243
- }
@@ -1,157 +0,0 @@
1
- {
2
- "_meta": {
3
- "synthetic": true,
4
- "note": "Mobil uygulama kabuğu — YIĞIN (varsayılan gezinme): app-bar + tek slot. Sekme ayarı yok; redirect sayfayı yığına iter, app-bar geri düğmesi ve cihaz geri tuşu döner. layout_create'in views alanına olduğu gibi verilebilir; mobile_app_create tabs ve drawer verilmeyince bu kabuğu kurar.",
5
- "pairsWith": "mobile-app-shell-tab (sekmeli), mobile-app-shell-drawer (çekmeceli), mobile-list-detail-form (üç sayfa)",
6
- "sourceRef": "platform_guide('mobile') §Gezinme; plans/mobil-uygulama-expo/05-mobil-ayarlar-ve-gezinme.md §2.5-2.6"
7
- },
8
- "_rules": {
9
- "flexOnly": "Mobil çizer yalnız flex'tir: blocks boş, sıra dizi indeksi, ölçü appearance ile (MOB-001). Kökte layout prop'u YOK — mobil container şeması onu düşürür.",
10
- "singleSlot": "TEK slot; sayfa şeması slot'a yerleşir (LAY-002 / LAY-006 web'dekiyle aynı).",
11
- "appBarTitle": "app-bar.title boşsa çubuk başlıksız çizilir — sayfa adına düşen bir yedek YOKTUR (runtime app-bar yalnız title'ı yazar; koşu 37 S-9, mizanpaj 06 kör koşusu). Sabit başlık için mobile_app_create title'ı, sayfaya göre değişen başlık için title'ı bir değişkene bağlayın ya da başlığı sayfanın içine text olarak koyun. leading 'auto' yığında geri düğmesi, kökte (menuTarget varsa) menü düğmesi çizer.",
12
- "catalog": "app-bar, slot ve drawer mobil kataloğun Dalga 1 bileşenleridir. component_list mobil uygulamada bunları döndürmüyorsa katalog henüz yazılmamıştır ve layout_create 422 unknown-type alır (MOB-003).",
13
- "verify": "Kabuğu layout'a bağlı bir sayfada page_screenshot ile doğrula (mobilde varsayılan device: 'phone').",
14
- "layoutContract": "Mizanpaj sözleşmesi: üst güvenli alan tek yerde, kabukta (app-bar 'safe-area' edges:'top' içinde; sayfa ikinci pay vermez). Ekran kenarı boşluğu tek değer (16) ve tek yerde: slot'un yatay ve üst margin'i — içerik app-bar'ın 16 dp altından başlar, kabuksuz sayfadaki gibi. shell_root 'shrink' ve padding'siz — düz container olduğu için tip yazılmazsa runtime 10 dp padding verir ve app-bar kenardan kopar."
15
- },
16
- "mobileAppCreate": {
17
- "slug": "saha",
18
- "name": "Saha",
19
- "pages": [
20
- {
21
- "pageSlug": "gorevler",
22
- "pageName": "Görevler"
23
- },
24
- {
25
- "pageSlug": "detay",
26
- "pageName": "Görev detayı"
27
- }
28
- ]
29
- },
30
- "layoutCreate": {
31
- "name": "Mobil kabuk",
32
- "views": [
33
- {
34
- "elementId": "shell_root",
35
- "name": "shell_root",
36
- "type": "container",
37
- "kind": "component",
38
- "props": {
39
- "title": {
40
- "type": "static",
41
- "ref": null,
42
- "data": ""
43
- },
44
- "direction": {
45
- "type": "static",
46
- "ref": null,
47
- "data": "column"
48
- },
49
- "gap": {
50
- "type": "static",
51
- "ref": null,
52
- "data": "none"
53
- },
54
- "size": {
55
- "type": "static",
56
- "ref": null,
57
- "data": "shrink"
58
- },
59
- "wrap": {
60
- "type": "static",
61
- "ref": null,
62
- "data": false
63
- }
64
- },
65
- "states": {
66
- "isDroppable": true,
67
- "isWrapper": true
68
- },
69
- "appearance": {
70
- "heightType": "fill",
71
- "widthType": "fill",
72
- "paddingType": "none"
73
- },
74
- "blocks": [],
75
- "events": [],
76
- "validations": [],
77
- "stateBindings": [],
78
- "children": [
79
- {
80
- "elementId": "sa_ust",
81
- "name": "sa_ust",
82
- "type": "safe-area",
83
- "kind": "component",
84
- "props": {
85
- "edges": {
86
- "type": "static",
87
- "ref": null,
88
- "data": "top"
89
- }
90
- },
91
- "states": {
92
- "isDroppable": true
93
- },
94
- "appearance": {
95
- "widthType": "fill"
96
- },
97
- "blocks": [],
98
- "events": [],
99
- "validations": [],
100
- "stateBindings": [],
101
- "children": [
102
- {
103
- "elementId": "app_bar",
104
- "name": "app_bar",
105
- "type": "app-bar",
106
- "kind": "component",
107
- "props": {
108
- "title": {
109
- "type": "static",
110
- "ref": null,
111
- "data": ""
112
- },
113
- "leading": {
114
- "type": "static",
115
- "ref": null,
116
- "data": "auto"
117
- }
118
- },
119
- "appearance": {
120
- "widthType": "fill"
121
- },
122
- "blocks": [],
123
- "events": [],
124
- "validations": [],
125
- "stateBindings": [],
126
- "children": []
127
- }
128
- ]
129
- },
130
- {
131
- "elementId": "page_slot",
132
- "name": "page_slot",
133
- "type": "slot",
134
- "kind": "component",
135
- "props": {},
136
- "appearance": {
137
- "widthType": "fill",
138
- "heightType": "fill",
139
- "marginType": "custom",
140
- "marginValues": {
141
- "top": 16,
142
- "right": 16,
143
- "bottom": 0,
144
- "left": 16
145
- }
146
- },
147
- "blocks": [],
148
- "events": [],
149
- "validations": [],
150
- "stateBindings": [],
151
- "children": []
152
- }
153
- ]
154
- }
155
- ]
156
- }
157
- }
@@ -1,208 +0,0 @@
1
- {
2
- "_meta": {
3
- "synthetic": true,
4
- "note": "Mobil uygulama kabuğu — SEKMELER: layout yığındakiyle AYNI (app-bar + slot); sekmeler layout'ta değil uygulama ayarındadır (properties.mobile.tabs). Çubuk runtime'da cihaz ekranının altında çizilir, kimliği __tabs, öğeleri __tabs__item-<sayfa slug'ı>.",
5
- "pairsWith": "mobile-app-shell-stack, mobile-list-detail-form",
6
- "sourceRef": "platform_guide('mobile') §Gezinme; zeyrek-mcp/src/knowledge/platform/mobileTabs.ts (normalizeMobileTabs)"
7
- },
8
- "_rules": {
9
- "flexOnly": "Mobil çizer yalnız flex'tir: blocks boş, sıra dizi indeksi, ölçü appearance ile (MOB-001). Kökte layout prop'u YOK — mobil container şeması onu düşürür.",
10
- "singleSlot": "TEK slot; sayfa şeması slot'a yerleşir (LAY-002 / LAY-006 web'dekiyle aynı).",
11
- "appBarTitle": "app-bar.title boşsa çubuk başlıksız çizilir — sayfa adına düşen bir yedek YOKTUR (runtime app-bar yalnız title'ı yazar; koşu 37 S-9, mizanpaj 06 kör koşusu). Sabit başlık için mobile_app_create title'ı, sayfaya göre değişen başlık için title'ı bir değişkene bağlayın ya da başlığı sayfanın içine text olarak koyun. leading 'auto' yığında geri düğmesi, kökte (menuTarget varsa) menü düğmesi çizer.",
12
- "catalog": "app-bar, slot ve drawer mobil kataloğun Dalga 1 bileşenleridir. component_list mobil uygulamada bunları döndürmüyorsa katalog henüz yazılmamıştır ve layout_create 422 unknown-type alır (MOB-003).",
13
- "verify": "Kabuğu layout'a bağlı bir sayfada page_screenshot ile doğrula (mobilde varsayılan device: 'phone').",
14
- "tabsNeedPageIds": "items[].page sayfa ID'sidir (slug değil): sekme ayarı sayfalar KURULDUKTAN SONRA application_update ile yazılır. 1-5 öğe, tekrar yok (MOB-007).",
15
- "noTabBarNode": "Layout'a ya da sayfaya tab-bar / drawer-menu düğümü koyma — katalog bileşeni değiller, MOB-007 uyarısı alır.",
16
- "layoutContract": "Mizanpaj sözleşmesi: üst güvenli alan tek yerde, kabukta (app-bar 'safe-area' edges:'top' içinde; sayfa ikinci pay vermez). Ekran kenarı boşluğu tek değer (16) ve tek yerde: slot'un yatay ve üst margin'i — içerik app-bar'ın 16 dp altından başlar, kabuksuz sayfadaki gibi. shell_root 'shrink' ve padding'siz — düz container olduğu için tip yazılmazsa runtime 10 dp padding verir ve app-bar kenardan kopar."
17
- },
18
- "mobileAppCreate": {
19
- "slug": "saha",
20
- "name": "Saha",
21
- "pages": [
22
- {
23
- "pageSlug": "gorevler",
24
- "pageName": "Görevler"
25
- },
26
- {
27
- "pageSlug": "yeni",
28
- "pageName": "Yeni görev"
29
- },
30
- {
31
- "pageSlug": "profil",
32
- "pageName": "Profil"
33
- }
34
- ],
35
- "tabs": [
36
- {
37
- "pageSlug": "gorevler",
38
- "label": "Görevler",
39
- "icon": "list"
40
- },
41
- {
42
- "pageSlug": "yeni",
43
- "label": "Yeni",
44
- "icon": "add"
45
- },
46
- {
47
- "pageSlug": "profil",
48
- "label": "Profil",
49
- "icon": "user"
50
- }
51
- ]
52
- },
53
- "layoutCreate": {
54
- "name": "Mobil kabuk",
55
- "views": [
56
- {
57
- "elementId": "shell_root",
58
- "name": "shell_root",
59
- "type": "container",
60
- "kind": "component",
61
- "props": {
62
- "title": {
63
- "type": "static",
64
- "ref": null,
65
- "data": ""
66
- },
67
- "direction": {
68
- "type": "static",
69
- "ref": null,
70
- "data": "column"
71
- },
72
- "gap": {
73
- "type": "static",
74
- "ref": null,
75
- "data": "none"
76
- },
77
- "size": {
78
- "type": "static",
79
- "ref": null,
80
- "data": "shrink"
81
- },
82
- "wrap": {
83
- "type": "static",
84
- "ref": null,
85
- "data": false
86
- }
87
- },
88
- "states": {
89
- "isDroppable": true,
90
- "isWrapper": true
91
- },
92
- "appearance": {
93
- "heightType": "fill",
94
- "widthType": "fill",
95
- "paddingType": "none"
96
- },
97
- "blocks": [],
98
- "events": [],
99
- "validations": [],
100
- "stateBindings": [],
101
- "children": [
102
- {
103
- "elementId": "sa_ust",
104
- "name": "sa_ust",
105
- "type": "safe-area",
106
- "kind": "component",
107
- "props": {
108
- "edges": {
109
- "type": "static",
110
- "ref": null,
111
- "data": "top"
112
- }
113
- },
114
- "states": {
115
- "isDroppable": true
116
- },
117
- "appearance": {
118
- "widthType": "fill"
119
- },
120
- "blocks": [],
121
- "events": [],
122
- "validations": [],
123
- "stateBindings": [],
124
- "children": [
125
- {
126
- "elementId": "app_bar",
127
- "name": "app_bar",
128
- "type": "app-bar",
129
- "kind": "component",
130
- "props": {
131
- "title": {
132
- "type": "static",
133
- "ref": null,
134
- "data": ""
135
- },
136
- "leading": {
137
- "type": "static",
138
- "ref": null,
139
- "data": "auto"
140
- }
141
- },
142
- "appearance": {
143
- "widthType": "fill"
144
- },
145
- "blocks": [],
146
- "events": [],
147
- "validations": [],
148
- "stateBindings": [],
149
- "children": []
150
- }
151
- ]
152
- },
153
- {
154
- "elementId": "page_slot",
155
- "name": "page_slot",
156
- "type": "slot",
157
- "kind": "component",
158
- "props": {},
159
- "appearance": {
160
- "widthType": "fill",
161
- "heightType": "fill",
162
- "marginType": "custom",
163
- "marginValues": {
164
- "top": 16,
165
- "right": 16,
166
- "bottom": 0,
167
- "left": 16
168
- }
169
- },
170
- "blocks": [],
171
- "events": [],
172
- "validations": [],
173
- "stateBindings": [],
174
- "children": []
175
- }
176
- ]
177
- }
178
- ]
179
- },
180
- "applicationUpdate": {
181
- "properties": {
182
- "mobile": {
183
- "tabs": {
184
- "enabled": true,
185
- "style": "default",
186
- "showLabels": true,
187
- "items": [
188
- {
189
- "page": "<gorevler sayfa id'si>",
190
- "label": "Görevler",
191
- "icon": "list"
192
- },
193
- {
194
- "page": "<yeni sayfa id'si>",
195
- "label": "Yeni",
196
- "icon": "add"
197
- },
198
- {
199
- "page": "<profil sayfa id'si>",
200
- "label": "Profil",
201
- "icon": "user"
202
- }
203
- ]
204
- }
205
- }
206
- }
207
- }
208
- }