@appaflytech/zeyrek-ai-mcp 0.0.36 → 0.0.40

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 (210) hide show
  1. package/.env.example +15 -0
  2. package/README.md +5 -5
  3. package/dist/config.js +37 -0
  4. package/dist/index.js +2 -0
  5. package/dist/knowledge/access.js +802 -0
  6. package/dist/knowledge/backendConstraints.js +18 -1
  7. package/dist/knowledge/case.js +41 -0
  8. package/dist/knowledge/componentCatalog.js +524 -53
  9. package/dist/knowledge/componentEvents.js +132 -7
  10. package/dist/knowledge/connectDataBind.js +851 -0
  11. package/dist/knowledge/connectDataDefinition.js +344 -0
  12. package/dist/knowledge/connectDataExecute.js +93 -0
  13. package/dist/knowledge/connectDataRules.js +128 -0
  14. package/dist/knowledge/decision.js +121 -0
  15. package/dist/knowledge/expressionPrelude.js +60 -0
  16. package/dist/knowledge/layoutSummary.js +140 -2
  17. package/dist/knowledge/microserviceParameters.js +58 -0
  18. package/dist/knowledge/mining.js +94 -0
  19. package/dist/knowledge/mobileComponentCatalog.js +876 -0
  20. package/dist/knowledge/mobileComponentEvents.js +259 -0
  21. package/dist/knowledge/mobileStore.js +396 -0
  22. package/dist/knowledge/normalize.js +240 -72
  23. package/dist/knowledge/outlines.js +36 -0
  24. package/dist/knowledge/platform/lint.js +385 -0
  25. package/dist/knowledge/platform/mobile.js +142 -0
  26. package/dist/knowledge/platform/mobileLayoutLint.js +324 -0
  27. package/dist/knowledge/platform/mobileRules.js +231 -0
  28. package/dist/knowledge/platform/mobileSpacing.js +82 -0
  29. package/dist/knowledge/platform/mobileTabs.js +108 -0
  30. package/dist/knowledge/platform/nativeBoxModel.js +44 -0
  31. package/dist/knowledge/platform/profile.js +25 -0
  32. package/dist/knowledge/platform/resolve.js +122 -0
  33. package/dist/knowledge/platform/web.js +39 -0
  34. package/dist/knowledge/policy.js +18 -4
  35. package/dist/knowledge/process.js +510 -0
  36. package/dist/knowledge/reservedTables.js +79 -0
  37. package/dist/knowledge/rowFilter.js +43 -0
  38. package/dist/knowledge/rules.js +485 -22
  39. package/dist/knowledge/schemaGuard.js +11 -0
  40. package/dist/knowledge/styleResolve.js +64 -10
  41. package/dist/knowledge/styleResolveNative.js +529 -0
  42. package/dist/knowledge/themeResolve.js +3 -3
  43. package/dist/observability/trace.js +13 -5
  44. package/dist/platform/argumentAliases.js +128 -0
  45. package/dist/platform/bodyFile.js +103 -0
  46. package/dist/platform/capture/actions.js +398 -0
  47. package/dist/platform/capture/browser.js +1 -0
  48. package/dist/platform/capture/capture.js +683 -0
  49. package/dist/platform/capture/console-log.js +122 -0
  50. package/dist/platform/capture/index.js +11 -0
  51. package/dist/platform/capture/readiness.js +103 -0
  52. package/dist/platform/capture/summary.js +77 -0
  53. package/dist/platform/capture/target.js +5 -0
  54. package/dist/platform/capture/targets/studio-mobile.js +15 -0
  55. package/dist/platform/capture/targets/studio-web.js +5 -0
  56. package/dist/platform/diagnostics.js +10 -4
  57. package/dist/platform/domSummary.js +1 -1
  58. package/dist/platform/errors.js +163 -10
  59. package/dist/platform/http.js +29 -8
  60. package/dist/platform/impersonation.js +45 -0
  61. package/dist/platform/jsonArray.js +24 -0
  62. package/dist/platform/responses.js +39 -5
  63. package/dist/platform/schemaReadMemory.js +60 -0
  64. package/dist/platform/secrets.js +68 -2
  65. package/dist/platform/strictArguments.js +68 -12
  66. package/dist/platform/tokenVault.js +187 -4
  67. package/dist/resources/examples/bpm-gorev-kontrol.json +294 -0
  68. package/dist/resources/examples/bpm-iso-dokuman.json +228 -0
  69. package/dist/resources/examples/bpm-satinalma.json +376 -0
  70. package/dist/resources/examples/connect-data-convert-verify.json +107 -0
  71. package/dist/resources/examples/connect-data-dropdown-roles.json +66 -0
  72. package/dist/resources/examples/connect-data-edit-m2m.json +73 -0
  73. package/dist/resources/examples/connect-data-query-params.json +50 -0
  74. package/dist/resources/examples/connect-data-table-entity.json +147 -0
  75. package/dist/resources/examples/connect-data-workflow-microservice.json +65 -0
  76. package/dist/resources/examples/middleware-authenticate.json +1 -1
  77. package/dist/resources/examples/mobile-app-shell-drawer.json +244 -0
  78. package/dist/resources/examples/mobile-app-shell-stack.json +157 -0
  79. package/dist/resources/examples/mobile-app-shell-tab.json +208 -0
  80. package/dist/resources/examples/mobile-form-screen.json +365 -0
  81. package/dist/resources/examples/mobile-list-detail-form.json +703 -0
  82. package/dist/resources/examples/page-detail-profile.json +2 -1
  83. package/dist/resources/examples/page-dynamic-form.json +3 -2
  84. package/dist/resources/examples/page-flex-sections.json +1 -1
  85. package/dist/resources/examples/page-html-embed.json +1 -1
  86. package/dist/resources/examples/workflow-basic.json +8 -2
  87. package/dist/resources/guides/access.md +810 -0
  88. package/dist/resources/guides/bpm.md +691 -0
  89. package/dist/resources/guides/case.md +153 -0
  90. package/dist/resources/guides/component.md +92 -5
  91. package/dist/resources/guides/decision.md +185 -0
  92. package/dist/resources/guides/entity.md +50 -8
  93. package/dist/resources/guides/expressions.md +14 -5
  94. package/dist/resources/guides/functions.md +1 -1
  95. package/dist/resources/guides/getting-started.md +38 -1
  96. package/dist/resources/guides/layout.md +11 -7
  97. package/dist/resources/guides/merge.md +42 -7
  98. package/dist/resources/guides/microservice.md +88 -3
  99. package/dist/resources/guides/middleware.md +69 -5
  100. package/dist/resources/guides/mobile-layout.md +193 -0
  101. package/dist/resources/guides/mobile-publish.md +148 -0
  102. package/dist/resources/guides/mobile.md +565 -0
  103. package/dist/resources/guides/page.md +469 -82
  104. package/dist/resources/guides/theme.md +8 -2
  105. package/dist/resources/guides/translation.md +1 -1
  106. package/dist/resources/guides/workflow.md +58 -1
  107. package/dist/resources/read.js +41 -0
  108. package/dist/resources/rules.js +11 -5
  109. package/dist/resources/schema-fingerprint.json +7 -5
  110. package/dist/resources/schemas/AccessExplanationDto.json +144 -0
  111. package/dist/resources/schemas/AccessMatrixDto.json +170 -0
  112. package/dist/resources/schemas/AccessPermissionDto.json +57 -0
  113. package/dist/resources/schemas/AccessPolicyDto.json +223 -0
  114. package/dist/resources/schemas/AccessResourceDto.json +86 -0
  115. package/dist/resources/schemas/AppSessionDto.json +53 -0
  116. package/dist/resources/schemas/ConnectDataDescribeDto.json +344 -0
  117. package/dist/resources/schemas/ConnectDataRequestModel.json +202 -0
  118. package/dist/resources/schemas/ConnectDataResultDto.json +421 -0
  119. package/dist/resources/schemas/ConnectorCredentialDto.json +70 -0
  120. package/dist/resources/schemas/ConvertConnectDataToMicroserviceCommand.json +37 -0
  121. package/dist/resources/schemas/CreateAccessPolicyCommand.json +209 -0
  122. package/dist/resources/schemas/CreateDecisionCommand.json +221 -0
  123. package/dist/resources/schemas/CreateEntityCommand.json +118 -0
  124. package/dist/resources/schemas/CreateMicroserviceCommand.json +13 -1
  125. package/dist/resources/schemas/CreateProcessDefinitionCommand.json +1337 -0
  126. package/dist/resources/schemas/CreateQueryCommand.json +4 -0
  127. package/dist/resources/schemas/CreateWorkflowCommand.json +146 -1
  128. package/dist/resources/schemas/DataJobDto.json +6 -1
  129. package/dist/resources/schemas/DecisionDto.json +302 -0
  130. package/dist/resources/schemas/DetachConnectDataMicroserviceCommand.json +28 -0
  131. package/dist/resources/schemas/ExplainAccessQuery.json +33 -0
  132. package/dist/resources/schemas/GenerateProcessDocumentCommand.json +116 -0
  133. package/dist/resources/schemas/GlobalFunctionUpdateResultDto.json +24 -0
  134. package/dist/resources/schemas/MicroserviceDto.json +15 -3
  135. package/dist/resources/schemas/OrganizationProjectDto.json +343 -0
  136. package/dist/resources/schemas/OrganizationSchemaDto.json +196 -0
  137. package/dist/resources/schemas/OrganizationSchemaVersionDto.json +207 -0
  138. package/dist/resources/schemas/PatchProcessDefinitionCommand.json +76 -0
  139. package/dist/resources/schemas/PreviewMicroserviceCommand.json +10 -1
  140. package/dist/resources/schemas/PreviewWorkflowCommand.json +25 -1
  141. package/dist/resources/schemas/ProcessDefinitionDto.json +1480 -0
  142. package/dist/resources/schemas/ProcessSimulationDto.json +96 -0
  143. package/dist/resources/schemas/SaveConnectorCredentialCommand.json +90 -0
  144. package/dist/resources/schemas/SaveProcessEventSourceCommand.json +61 -0
  145. package/dist/resources/schemas/SaveProcessMailSourceCommand.json +89 -0
  146. package/dist/resources/schemas/SignProcessTaskCommand.json +73 -0
  147. package/dist/resources/schemas/SimulateProcessDefinitionQuery.json +92 -0
  148. package/dist/resources/schemas/StartMobileBuildCommand.json +54 -0
  149. package/dist/resources/schemas/StepDto.json +25 -1
  150. package/dist/resources/schemas/UpdateAccessPolicyCommand.json +209 -0
  151. package/dist/resources/schemas/UpdateDecisionCommand.json +216 -0
  152. package/dist/resources/schemas/UpdateEntityCommand.json +118 -0
  153. package/dist/resources/schemas/UpdateMicroserviceCommand.json +13 -1
  154. package/dist/resources/schemas/UpdateProcessDefinitionCommand.json +1357 -0
  155. package/dist/resources/schemas/UpdateQueryCommand.json +4 -0
  156. package/dist/resources/schemas/UpdateViewCommand.json +0 -2
  157. package/dist/resources/schemas/UpdateWorkflowCommand.json +146 -1
  158. package/dist/resources/schemas/UpsertMobileStoreSettingsCommand.json +333 -0
  159. package/dist/resources/schemas/ValidateProcessDefinitionQuery.json +1339 -0
  160. package/dist/server.js +31 -1
  161. package/dist/tools/access.js +369 -2
  162. package/dist/tools/accessOperations.js +135 -0
  163. package/dist/tools/accessPolicies.js +170 -0
  164. package/dist/tools/accessRuntime.js +203 -0
  165. package/dist/tools/applications.js +63 -3
  166. package/dist/tools/bpm.js +343 -0
  167. package/dist/tools/bpmGovernance.js +266 -0
  168. package/dist/tools/bpmOperations.js +230 -0
  169. package/dist/tools/bpmReporting.js +154 -0
  170. package/dist/tools/bpmRouting.js +150 -0
  171. package/dist/tools/bpmRuntime.js +396 -0
  172. package/dist/tools/case.js +178 -0
  173. package/dist/tools/caseRuntime.js +89 -0
  174. package/dist/tools/common.js +19 -6
  175. package/dist/tools/components.js +118 -14
  176. package/dist/tools/connectData.js +450 -0
  177. package/dist/tools/connectors.js +193 -0
  178. package/dist/tools/datasources.js +3 -3
  179. package/dist/tools/decisions.js +206 -0
  180. package/dist/tools/dependencies.js +1 -1
  181. package/dist/tools/deployments.js +38 -3
  182. package/dist/tools/designSchemaPatch.js +34 -9
  183. package/dist/tools/dtos.js +36 -5
  184. package/dist/tools/entities.js +79 -12
  185. package/dist/tools/environments.js +1 -1
  186. package/dist/tools/externalComponents.js +26 -5
  187. package/dist/tools/flows.js +119 -13
  188. package/dist/tools/folders.js +1 -1
  189. package/dist/tools/imports.js +5 -2
  190. package/dist/tools/layouts.js +50 -17
  191. package/dist/tools/merges.js +2 -2
  192. package/dist/tools/microservices.js +77 -25
  193. package/dist/tools/mobile.js +280 -0
  194. package/dist/tools/mobileStore.js +572 -0
  195. package/dist/tools/modules.js +48 -0
  196. package/dist/tools/organizationStructure.js +137 -0
  197. package/dist/tools/pages.js +467 -100
  198. package/dist/tools/platformInfo.js +28 -8
  199. package/dist/tools/profileWrite.js +92 -0
  200. package/dist/tools/projects.js +71 -9
  201. package/dist/tools/rows.js +69 -13
  202. package/dist/tools/schemaOps.js +61 -1
  203. package/dist/tools/screenWrite.js +36 -7
  204. package/dist/tools/screens.js +95 -5
  205. package/dist/tools/templates.js +26 -1
  206. package/dist/tools/translations.js +1 -1
  207. package/dist/tools/variables.js +11 -5
  208. package/dist/tools/workflows.js +10 -5
  209. package/package.json +2 -2
  210. package/dist/platform/screenshot.js +0 -1162
@@ -0,0 +1,294 @@
1
+ {
2
+ "_meta": {
3
+ "synthetic": true,
4
+ "note": "S-1: satır olayıyla başlar, yöneticiye bildirim, atanan görevi completeOn ile bitirir, kontrol bölgesinde birim yöneticisi onaylar; ret back-to:iade ile görevi geri açar (writeBack durum=acik). process_definition_create(definition) ile yazılır; zeyrek-backend ProcessRunnerTests.S1 ile birebir."
5
+ },
6
+ "definition": {
7
+ "slug": "gorev-kontrol",
8
+ "name": "Görev kontrol",
9
+ "description": "Atanan görevi yapar, birim yöneticisi kontrol edip onaylar; ret görevi atanana geri döndürür.",
10
+ "analysis": {
11
+ "purpose": {
12
+ "en": "Work assigned to a person should not be closed without a check; a manager confirms that it was done properly.",
13
+ "tr": "Bir kişiye atanan iş kontrol edilmeden kapanmasın; yönetici işin doğru yapıldığını onaylar."
14
+ },
15
+ "summary": {
16
+ "en": "When a task is created with an assignee, their manager is told and the assignee does the work. The manager then checks it: an approval closes the task, a rejection sends it back to the assignee with the reason.",
17
+ "tr": "Atanan kişisi olan bir görev oluşunca yöneticisine haber verilir ve atanan kişi işi yapar. Ardından yönetici kontrol eder: onay görevi kapatır, ret gerekçesiyle birlikte görevi atanana geri gönderir."
18
+ }
19
+ },
20
+ "subject": {
21
+ "entity": "gorevler"
22
+ },
23
+ "singleton": "per-subject",
24
+ "withdrawPolicy": "before-first-decision",
25
+ "onSubjectDeleted": "block",
26
+ "history": "full",
27
+ "sod": [
28
+ "not-initiator"
29
+ ],
30
+ "nodes": [
31
+ {
32
+ "id": "baslangic",
33
+ "type": "start",
34
+ "name": "Görev oluşturuldu",
35
+ "description": "Görevler tablosunda satır oluşunca süreç başlar.",
36
+ "analysis": {
37
+ "what": {
38
+ "en": "The process starts by itself when a new task is saved.",
39
+ "tr": "Yeni bir görev kaydedildiğinde süreç kendiliğinden başlar."
40
+ },
41
+ "data": {
42
+ "en": "Reads the new task record; it starts only when the task has an assignee.",
43
+ "tr": "Yeni görev kaydını okur; yalnız görevin atanan kişisi varsa başlar."
44
+ },
45
+ "why": {
46
+ "en": "Every assigned task should be followed from the moment it exists.",
47
+ "tr": "Atanan her görev var olduğu andan itibaren takip edilsin diye."
48
+ },
49
+ "example": {
50
+ "en": "The task \"Prepare the Q3 customer report\" is saved with Selin as the assignee, so the process starts.",
51
+ "tr": "\"3. çeyrek müşteri raporunu hazırla\" görevi Selin'e atanmış olarak kaydedilir ve süreç başlar."
52
+ }
53
+ },
54
+ "trigger": "row-event",
55
+ "entity": "gorevler",
56
+ "operation": "create",
57
+ "condition": "row.atanan_id != null"
58
+ },
59
+ {
60
+ "id": "bildir",
61
+ "type": "notify",
62
+ "name": "Yöneticiye bildir",
63
+ "description": "Atananın birim yöneticisine yeni görev bildirimi gider.",
64
+ "analysis": {
65
+ "what": {
66
+ "en": "The assignee's unit manager gets an inbox message about the new task.",
67
+ "tr": "Atanan kişinin birim yöneticisine yeni görev için kutu mesajı gider."
68
+ },
69
+ "data": {
70
+ "en": "Uses the assignee of the task to find the manager and the task title for the message.",
71
+ "tr": "Yöneticiyi bulmak için görevin atanan kişisini, mesaj için görevin başlığını kullanır."
72
+ },
73
+ "why": {
74
+ "en": "The manager will approve the work later, so they should know about it from the start.",
75
+ "tr": "İşi sonunda yönetici onaylayacak; baştan haberi olsun diye."
76
+ },
77
+ "example": {
78
+ "en": "Burak, Selin's manager, sees \"New task: Prepare the Q3 customer report\" in his inbox.",
79
+ "tr": "Selin'in yöneticisi Burak, kutusunda \"Yeni görev: 3. çeyrek müşteri raporunu hazırla\" mesajını görür."
80
+ }
81
+ },
82
+ "to": "unit-manager of subject-field:atanan_id",
83
+ "channels": [
84
+ "inbox"
85
+ ],
86
+ "template": {
87
+ "subject": {
88
+ "tr": "Yeni görev"
89
+ },
90
+ "body": {
91
+ "tr": "{{row.baslik}} görevi atandı."
92
+ }
93
+ }
94
+ },
95
+ {
96
+ "id": "gorevi-yap",
97
+ "type": "user-task",
98
+ "resultKey": "gorevi_yap",
99
+ "name": "Görevi yap",
100
+ "description": "Atanan görevi yapar; satırı tamamlandı yapınca görev biter.",
101
+ "analysis": {
102
+ "what": {
103
+ "en": "The assignee does the work and marks the task as done.",
104
+ "tr": "Atanan kişi işi yapar ve görevi tamamlandı olarak işaretler."
105
+ },
106
+ "data": {
107
+ "en": "Waits until the status of the task becomes \"done\"; the assignee has three days.",
108
+ "tr": "Görevin durumu \"tamamlandı\" olana kadar bekler; atanan kişinin üç günü vardır."
109
+ },
110
+ "why": {
111
+ "en": "This is the actual work; everything after it is the check.",
112
+ "tr": "Asıl iş budur; sonrasındaki her şey kontrol içindir."
113
+ },
114
+ "example": {
115
+ "en": "Selin prepares the report within three days and sets the task to done.",
116
+ "tr": "Selin raporu üç gün içinde hazırlar ve görevi tamamlandı yapar."
117
+ }
118
+ },
119
+ "assignee": "subject-field:atanan_id",
120
+ "sla": "P3D",
121
+ "completeOn": {
122
+ "trigger": "row-event",
123
+ "operation": "update",
124
+ "condition": "row.durum === 'tamamlandi'"
125
+ }
126
+ },
127
+ {
128
+ "id": "kontrol-bolgesi",
129
+ "type": "region",
130
+ "name": "Kontrol zinciri",
131
+ "description": "Uygulama yöneticisinin uyarlayabildiği onay zinciri.",
132
+ "analysis": {
133
+ "what": {
134
+ "en": "A group of approval steps that the application manager can adjust, for example by adding a second approver.",
135
+ "tr": "Uygulama yöneticisinin uyarlayabildiği onay adımları grubu; örneğin ikinci bir onaycı eklenebilir."
136
+ },
137
+ "data": {
138
+ "en": "Allows at most three steps, only approvals and notifications, assigned to managers, roles or positions.",
139
+ "tr": "En çok üç adıma izin verir; yalnız onay ve bildirim, yalnız yöneticiye, role ya da pozisyona atanır."
140
+ },
141
+ "why": {
142
+ "en": "Each unit checks work differently; the chain can change without redrawing the process.",
143
+ "tr": "Her birim işi farklı kontrol eder; zincir süreci baştan çizmeden değişebilsin diye."
144
+ },
145
+ "example": {
146
+ "en": "For the sales unit the chain has one step: Burak's check. Another unit could add a second approver here.",
147
+ "tr": "Satış birimi için zincirde tek adım var: Burak'ın kontrolü. Başka bir birim buraya ikinci bir onaycı ekleyebilir."
148
+ }
149
+ },
150
+ "editable": "open",
151
+ "limits": {
152
+ "maxSteps": 3,
153
+ "nodeTypes": [
154
+ "approval",
155
+ "notify"
156
+ ],
157
+ "assigneeRules": [
158
+ "unit-manager",
159
+ "parent-unit-manager",
160
+ "role",
161
+ "position"
162
+ ]
163
+ },
164
+ "nodes": [
165
+ {
166
+ "id": "kontrol-onay",
167
+ "type": "approval",
168
+ "resultKey": "kontrol_onay",
169
+ "name": "Kontrol ve onay",
170
+ "description": "Birim yöneticisi görevi kontrol eder.",
171
+ "analysis": {
172
+ "what": {
173
+ "en": "The assignee's unit manager checks the work and approves or rejects it.",
174
+ "tr": "Atanan kişinin birim yöneticisi işi kontrol eder; onaylar ya da reddeder."
175
+ },
176
+ "data": {
177
+ "en": "Looks at the completed task. A rejection needs a comment and sends the task back; the manager has two days.",
178
+ "tr": "Tamamlanan göreve bakar. Ret için yorum zorunludur ve görev geri gönderilir; yöneticinin iki günü vardır."
179
+ },
180
+ "why": {
181
+ "en": "A second person confirms the quality of the work before it is closed.",
182
+ "tr": "İş kapanmadan önce kalitesini ikinci bir kişi onaylasın diye."
183
+ },
184
+ "example": {
185
+ "en": "Burak opens the report, notices the missing chart and rejects it with \"Add the regional chart\"; the second time he approves it.",
186
+ "tr": "Burak raporu açar, eksik grafiği fark eder ve \"Bölge grafiğini ekle\" yorumuyla reddeder; ikinci seferde onaylar."
187
+ }
188
+ },
189
+ "editable": "params",
190
+ "editableParams": [
191
+ "assignee",
192
+ "sla"
193
+ ],
194
+ "assignee": "unit-manager of subject-field:atanan_id",
195
+ "policy": "any",
196
+ "commentRequired": "outcome === 'rejected'",
197
+ "onReject": "back-to:iade",
198
+ "sla": "P2D"
199
+ }
200
+ ],
201
+ "edges": []
202
+ },
203
+ {
204
+ "id": "iade",
205
+ "type": "notify",
206
+ "name": "Göreve iade",
207
+ "description": "Ret gerekçesi atanana bildirilir, satır yeniden açılır.",
208
+ "analysis": {
209
+ "what": {
210
+ "en": "The assignee is told that the task came back, and the task is opened again.",
211
+ "tr": "Atanan kişiye görevin geri döndüğü bildirilir ve görev yeniden açılır."
212
+ },
213
+ "data": {
214
+ "en": "Uses the task title for the message and sets the status of the task back to \"open\".",
215
+ "tr": "Mesaj için görevin başlığını kullanır, görevin durumunu yeniden \"açık\" yapar."
216
+ },
217
+ "why": {
218
+ "en": "The assignee has to know what to fix, and the task must be workable again.",
219
+ "tr": "Atanan kişi neyi düzelteceğini bilmeli, görev yeniden üzerinde çalışılabilir olmalı."
220
+ },
221
+ "example": {
222
+ "en": "Selin gets \"The task was returned for correction\" with Burak's comment, and the task is open again.",
223
+ "tr": "Selin'e Burak'ın yorumuyla \"Görev düzeltme için iade edildi\" mesajı gelir ve görev yeniden açılır."
224
+ }
225
+ },
226
+ "to": "subject-field:atanan_id",
227
+ "channels": [
228
+ "inbox"
229
+ ],
230
+ "template": {
231
+ "subject": {
232
+ "tr": "Görev iade edildi"
233
+ },
234
+ "body": {
235
+ "tr": "{{row.baslik}} görevi düzeltme için iade edildi."
236
+ }
237
+ },
238
+ "writeBack": {
239
+ "durum": "'acik'"
240
+ }
241
+ },
242
+ {
243
+ "id": "onaylandi",
244
+ "type": "end",
245
+ "name": "Onaylandı",
246
+ "description": "Görev onaylandı, satır kapatılır.",
247
+ "analysis": {
248
+ "what": {
249
+ "en": "The process ends with the task approved.",
250
+ "tr": "Süreç görev onaylanmış olarak biter."
251
+ },
252
+ "data": {
253
+ "en": "Sets the status of the task to \"approved\".",
254
+ "tr": "Görevin durumunu \"onaylandı\" yapar."
255
+ },
256
+ "why": {
257
+ "en": "The task record shows that the work is finished and checked.",
258
+ "tr": "Görev kaydı işin bittiğini ve kontrol edildiğini göstersin diye."
259
+ },
260
+ "example": {
261
+ "en": "After Burak's approval the Q3 report task shows \"approved\".",
262
+ "tr": "Burak onaylayınca 3. çeyrek rapor görevi \"onaylandı\" olarak görünür."
263
+ }
264
+ },
265
+ "outcome": "approved",
266
+ "writeBack": {
267
+ "durum": "'onaylandi'"
268
+ }
269
+ }
270
+ ],
271
+ "edges": [
272
+ [
273
+ "baslangic",
274
+ "bildir"
275
+ ],
276
+ [
277
+ "bildir",
278
+ "gorevi-yap"
279
+ ],
280
+ [
281
+ "gorevi-yap",
282
+ "kontrol-bolgesi"
283
+ ],
284
+ [
285
+ "kontrol-bolgesi",
286
+ "onaylandi"
287
+ ],
288
+ [
289
+ "iade",
290
+ "gorevi-yap"
291
+ ]
292
+ ]
293
+ }
294
+ }
@@ -0,0 +1,228 @@
1
+ {
2
+ "_meta": {
3
+ "synthetic": true,
4
+ "note": "S-8: onay birimi quorum(2), okuma turu bölgesi bireysel görev + read-proof kanıtı; duzenle eylemi signal:duzenleme-istegi yayar, bölge işleyicisi dokuman-duzenleme alt sürecini açar, onaylanırsa tur tek sefer yeniden başlar (restartWhen no-open-handlers). vars.onayBirimi ve vars.okuyucular user:<id> listeleridir."
5
+ },
6
+ "definition": {
7
+ "slug": "iso-dokuman-kontrol",
8
+ "name": "ISO doküman kontrolü",
9
+ "description": "Doküman onay biriminden geçer, okuma turuna dağıtılır; okuma sırasında gelen düzenleme istekleri alt süreçle ele alınır ve onaylanırsa tur yeniden başlar.",
10
+ "analysis": {
11
+ "purpose": {
12
+ "en": "ISO rules require that a controlled document is approved before use and that everyone concerned has read it; this process keeps that proof.",
13
+ "tr": "ISO kuralları kontrollü bir dokümanın kullanılmadan önce onaylanmasını ve ilgili herkesin onu okumasını ister; bu süreç o kanıtı tutar."
14
+ },
15
+ "summary": {
16
+ "en": "The author sends the document for approval and an approval group decides. The readers then read and confirm it; if someone asks for a change during reading, the change is handled and reading starts again. When everyone has read it, the document is in force.",
17
+ "tr": "Hazırlayan dokümanı onaya gönderir, bir onay grubu karar verir. Ardından okuyucular dokümanı okuyup onaylar; okuma sırasında biri değişiklik isterse değişiklik ele alınır ve okuma yeniden başlar. Herkes okuyunca doküman yürürlüğe girer."
18
+ }
19
+ },
20
+ "subject": {
21
+ "entity": "dokumanlar"
22
+ },
23
+ "singleton": "per-subject",
24
+ "history": "full",
25
+ "nodes": [
26
+ {
27
+ "id": "baslangic",
28
+ "type": "start",
29
+ "name": "Onaya gönderildi",
30
+ "description": "Hazırlayan dokümanı onaya gönderir.",
31
+ "analysis": {
32
+ "what": {
33
+ "en": "The author starts the process by sending the document for approval.",
34
+ "tr": "Hazırlayan dokümanı onaya göndererek süreci başlatır."
35
+ },
36
+ "data": {
37
+ "en": "Reads the document record the author chose.",
38
+ "tr": "Hazırlayanın seçtiği doküman kaydını okur."
39
+ },
40
+ "why": {
41
+ "en": "Only a finished draft should go into approval, and the author decides when it is finished.",
42
+ "tr": "Onaya yalnız bitmiş taslak girsin; ne zaman bittiğine hazırlayan karar versin diye."
43
+ },
44
+ "example": {
45
+ "en": "Deniz sends the new \"Supplier evaluation procedure\" for approval.",
46
+ "tr": "Deniz yeni \"Tedarikçi değerlendirme prosedürü\"nü onaya gönderir."
47
+ }
48
+ },
49
+ "trigger": "manual"
50
+ },
51
+ {
52
+ "id": "onay-birimi",
53
+ "type": "approval",
54
+ "resultKey": "onay_birimi",
55
+ "name": "Onay birimi",
56
+ "description": "Dört kişilik onay biriminden iki onay yeterli, tek ret dokümanı iade eder.",
57
+ "analysis": {
58
+ "what": {
59
+ "en": "Each member of the approval group gets their own task; two approvals are enough, a single rejection sends the document back.",
60
+ "tr": "Onay grubunun her üyesine ayrı görev düşer; iki onay yeter, tek bir ret dokümanı geri gönderir."
61
+ },
62
+ "data": {
63
+ "en": "Uses the list of approvers given when the process starts.",
64
+ "tr": "Süreç başlarken verilen onaycı listesini kullanır."
65
+ },
66
+ "why": {
67
+ "en": "A controlled document needs a formal approval before anyone relies on it.",
68
+ "tr": "Kontrollü bir dokümana kimse güvenmeden önce resmi onay gerekir."
69
+ },
70
+ "example": {
71
+ "en": "Of the four approvers, the quality manager and the purchasing manager approve first; two approvals are enough.",
72
+ "tr": "Dört onaycıdan önce kalite müdürü ve satın alma müdürü onaylar; iki onay yeterlidir."
73
+ }
74
+ },
75
+ "assignee": {
76
+ "rule": "list",
77
+ "of": "vars.onayBirimi",
78
+ "expand": "members",
79
+ "dedupe": true
80
+ },
81
+ "mode": "individual",
82
+ "policy": "quorum(2)",
83
+ "rejectPolicy": "any-reject",
84
+ "onReject": "end"
85
+ },
86
+ {
87
+ "id": "okuma-turu",
88
+ "type": "region",
89
+ "name": "Okuma turu",
90
+ "description": "Okuyucular dokümanı okur ve onaylar; düzenleme isteği bölge olayıdır.",
91
+ "analysis": {
92
+ "what": {
93
+ "en": "The reading round: readers read the document, and change requests are handled inside it.",
94
+ "tr": "Okuma turu: okuyucular dokümanı okur, değişiklik istekleri bu turun içinde ele alınır."
95
+ },
96
+ "data": {
97
+ "en": "Listens for a \"change request\"; the request is handled by a separate change process, and when it is approved the reading round starts again.",
98
+ "tr": "\"Değişiklik isteği\"ni dinler; istek ayrı bir değişiklik süreciyle ele alınır, onaylanırsa okuma turu yeniden başlar."
99
+ },
100
+ "why": {
101
+ "en": "Readers must always confirm the latest version, not an outdated one.",
102
+ "tr": "Okuyucular eski bir sürümü değil, her zaman son sürümü onaylasın diye."
103
+ },
104
+ "example": {
105
+ "en": "Can asks to correct form number F-12 to F-21; the change is approved and all twelve readers get a new task.",
106
+ "tr": "Can F-12 form numarasının F-21 olarak düzeltilmesini ister; değişiklik onaylanır ve on iki okuyucunun hepsine yeni görev düşer."
107
+ }
108
+ },
109
+ "editable": "locked",
110
+ "on": [
111
+ {
112
+ "event": "signal:duzenleme-istegi",
113
+ "interrupt": false,
114
+ "handler": {
115
+ "type": "sub-process",
116
+ "processSlug": "dokuman-duzenleme",
117
+ "input": {
118
+ "istek": "event.form"
119
+ }
120
+ },
121
+ "afterHandlers": "restart-region",
122
+ "restartWhen": "no-open-handlers",
123
+ "restartIf": "handler.outcome === 'approved'",
124
+ "restartScope": "all",
125
+ "cancelStale": "superseded"
126
+ }
127
+ ],
128
+ "nodes": [
129
+ {
130
+ "id": "oku-onayla",
131
+ "type": "user-task",
132
+ "resultKey": "oku_onayla",
133
+ "name": "Oku ve onayla",
134
+ "description": "Her okuyucuya ayrı görev; okuma kanıtı defterde kalır.",
135
+ "analysis": {
136
+ "what": {
137
+ "en": "Every reader gets their own task to read the document and confirm \"I have read and understood it\".",
138
+ "tr": "Her okuyucuya dokümanı okuyup \"Okudum, anladım\" demesi için ayrı görev düşer."
139
+ },
140
+ "data": {
141
+ "en": "Uses the list of readers; all of them must confirm, and each confirmation is kept as proof of reading.",
142
+ "tr": "Okuyucu listesini kullanır; hepsi onaylamalıdır, her onay okuma kanıtı olarak saklanır."
143
+ },
144
+ "why": {
145
+ "en": "Audits ask for proof that each person concerned read the current version.",
146
+ "tr": "Denetimler ilgili her kişinin güncel sürümü okuduğunun kanıtını ister."
147
+ },
148
+ "example": {
149
+ "en": "Each of the twelve employees opens the procedure and clicks \"I have read and understood it\".",
150
+ "tr": "On iki çalışanın her biri prosedürü açar ve \"Okudum, anladım\" düğmesine basar."
151
+ }
152
+ },
153
+ "assignee": {
154
+ "rule": "list",
155
+ "of": "vars.okuyucular",
156
+ "expand": "members",
157
+ "dedupe": true
158
+ },
159
+ "mode": "individual",
160
+ "join": "all",
161
+ "revisionBound": true,
162
+ "actions": [
163
+ {
164
+ "id": "okudum",
165
+ "label": {
166
+ "tr": "Okudum, anladım"
167
+ },
168
+ "completes": true,
169
+ "evidence": "read-proof"
170
+ },
171
+ {
172
+ "id": "duzenle",
173
+ "label": {
174
+ "tr": "Düzenleme iste"
175
+ },
176
+ "completes": false,
177
+ "emits": "signal:duzenleme-istegi"
178
+ }
179
+ ]
180
+ }
181
+ ],
182
+ "edges": []
183
+ },
184
+ {
185
+ "id": "yayinlandi",
186
+ "type": "end",
187
+ "name": "Yürürlükte",
188
+ "description": "Okuma turu tamamlandı.",
189
+ "analysis": {
190
+ "what": {
191
+ "en": "The process ends and the document is in force.",
192
+ "tr": "Süreç biter ve doküman yürürlüğe girer."
193
+ },
194
+ "data": {
195
+ "en": "Sets the status of the document to \"in force\".",
196
+ "tr": "Dokümanın durumunu \"yürürlükte\" yapar."
197
+ },
198
+ "why": {
199
+ "en": "Everyone can see which version is valid from now on.",
200
+ "tr": "Bundan sonra hangi sürümün geçerli olduğunu herkes görsün diye."
201
+ },
202
+ "example": {
203
+ "en": "The corrected procedure shows \"in force\" and is the version everyone uses.",
204
+ "tr": "Düzeltilmiş prosedür \"yürürlükte\" görünür ve herkesin kullandığı sürüm olur."
205
+ }
206
+ },
207
+ "outcome": "effective",
208
+ "writeBack": {
209
+ "durum": "'yururlukte'"
210
+ }
211
+ }
212
+ ],
213
+ "edges": [
214
+ [
215
+ "baslangic",
216
+ "onay-birimi"
217
+ ],
218
+ [
219
+ "onay-birimi",
220
+ "okuma-turu"
221
+ ],
222
+ [
223
+ "okuma-turu",
224
+ "yayinlandi"
225
+ ]
226
+ ]
227
+ }
228
+ }