@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,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
- }