@appaflytech/zeyrek-ai-mcp 0.0.35 → 0.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +15 -0
- package/README.md +5 -5
- package/dist/config.js +37 -0
- package/dist/index.js +2 -0
- package/dist/knowledge/access.js +802 -0
- package/dist/knowledge/backendConstraints.js +18 -1
- package/dist/knowledge/case.js +41 -0
- package/dist/knowledge/componentCatalog.js +655 -424
- package/dist/knowledge/componentEvents.js +140 -23
- package/dist/knowledge/connectDataBind.js +843 -0
- package/dist/knowledge/connectDataDefinition.js +344 -0
- package/dist/knowledge/connectDataExecute.js +93 -0
- package/dist/knowledge/connectDataRules.js +128 -0
- package/dist/knowledge/decision.js +121 -0
- package/dist/knowledge/expressionPrelude.js +59 -0
- package/dist/knowledge/layoutSummary.js +140 -2
- package/dist/knowledge/microserviceParameters.js +58 -0
- package/dist/knowledge/mining.js +94 -0
- package/dist/knowledge/mobileComponentCatalog.js +864 -0
- package/dist/knowledge/mobileComponentEvents.js +239 -0
- package/dist/knowledge/mobileStore.js +321 -0
- package/dist/knowledge/normalize.js +235 -84
- package/dist/knowledge/outlines.js +36 -0
- package/dist/knowledge/platform/lint.js +385 -0
- package/dist/knowledge/platform/mobile.js +142 -0
- package/dist/knowledge/platform/mobileLayoutLint.js +324 -0
- package/dist/knowledge/platform/mobileRules.js +231 -0
- package/dist/knowledge/platform/mobileSpacing.js +82 -0
- package/dist/knowledge/platform/mobileTabs.js +108 -0
- package/dist/knowledge/platform/nativeBoxModel.js +44 -0
- package/dist/knowledge/platform/profile.js +25 -0
- package/dist/knowledge/platform/resolve.js +122 -0
- package/dist/knowledge/platform/web.js +39 -0
- package/dist/knowledge/policy.js +18 -4
- package/dist/knowledge/process.js +510 -0
- package/dist/knowledge/reservedTables.js +79 -0
- package/dist/knowledge/rowFilter.js +43 -0
- package/dist/knowledge/rules.js +423 -37
- package/dist/knowledge/schemaGuard.js +11 -0
- package/dist/knowledge/styleResolve.js +53 -19
- package/dist/knowledge/styleResolveNative.js +527 -0
- package/dist/knowledge/themeResolve.js +4 -4
- package/dist/knowledge/themeSchema.js +1 -2
- package/dist/observability/trace.js +6 -3
- package/dist/platform/argumentAliases.js +128 -0
- package/dist/platform/bodyFile.js +103 -0
- package/dist/platform/capture/actions.js +398 -0
- package/dist/platform/capture/browser.js +1 -0
- package/dist/platform/capture/capture.js +683 -0
- package/dist/platform/capture/console-log.js +122 -0
- package/dist/platform/capture/index.js +11 -0
- package/dist/platform/capture/readiness.js +103 -0
- package/dist/platform/capture/summary.js +77 -0
- package/dist/platform/capture/target.js +5 -0
- package/dist/platform/capture/targets/studio-mobile.js +15 -0
- package/dist/platform/capture/targets/studio-web.js +5 -0
- package/dist/platform/diagnostics.js +10 -4
- package/dist/platform/domSummary.js +1 -1
- package/dist/platform/errors.js +163 -10
- package/dist/platform/http.js +29 -8
- package/dist/platform/impersonation.js +45 -0
- package/dist/platform/jsonArray.js +24 -0
- package/dist/platform/responses.js +39 -5
- package/dist/platform/schemaReadMemory.js +60 -0
- package/dist/platform/secrets.js +19 -1
- package/dist/platform/strictArguments.js +68 -12
- package/dist/platform/tokenVault.js +187 -4
- package/dist/resources/examples/bpm-gorev-kontrol.json +294 -0
- package/dist/resources/examples/bpm-iso-dokuman.json +228 -0
- package/dist/resources/examples/bpm-satinalma.json +376 -0
- package/dist/resources/examples/connect-data-convert-verify.json +107 -0
- package/dist/resources/examples/connect-data-dropdown-roles.json +66 -0
- package/dist/resources/examples/connect-data-edit-m2m.json +73 -0
- package/dist/resources/examples/connect-data-query-params.json +50 -0
- package/dist/resources/examples/connect-data-table-entity.json +147 -0
- package/dist/resources/examples/connect-data-workflow-microservice.json +65 -0
- package/dist/resources/examples/middleware-authenticate.json +1 -1
- package/dist/resources/examples/mobile-app-shell-drawer.json +244 -0
- package/dist/resources/examples/mobile-app-shell-stack.json +157 -0
- package/dist/resources/examples/mobile-app-shell-tab.json +208 -0
- package/dist/resources/examples/mobile-form-screen.json +365 -0
- package/dist/resources/examples/mobile-list-detail-form.json +703 -0
- package/dist/resources/examples/page-detail-profile.json +2 -1
- package/dist/resources/examples/page-dynamic-form.json +3 -2
- package/dist/resources/examples/page-flex-sections.json +1 -1
- package/dist/resources/examples/page-html-embed.json +1 -1
- package/dist/resources/examples/workflow-basic.json +8 -2
- package/dist/resources/guides/access.md +810 -0
- package/dist/resources/guides/bpm.md +691 -0
- package/dist/resources/guides/case.md +153 -0
- package/dist/resources/guides/component.md +93 -6
- package/dist/resources/guides/decision.md +185 -0
- package/dist/resources/guides/entity.md +50 -8
- package/dist/resources/guides/expressions.md +14 -5
- package/dist/resources/guides/functions.md +1 -1
- package/dist/resources/guides/getting-started.md +38 -1
- package/dist/resources/guides/layout.md +11 -7
- package/dist/resources/guides/merge.md +37 -3
- package/dist/resources/guides/microservice.md +87 -2
- package/dist/resources/guides/middleware.md +68 -4
- package/dist/resources/guides/mobile-layout.md +193 -0
- package/dist/resources/guides/mobile-publish.md +124 -0
- package/dist/resources/guides/mobile.md +549 -0
- package/dist/resources/guides/page.md +463 -83
- package/dist/resources/guides/theme.md +8 -3
- package/dist/resources/guides/translation.md +1 -1
- package/dist/resources/guides/workflow.md +58 -1
- package/dist/resources/read.js +41 -0
- package/dist/resources/rules.js +11 -5
- package/dist/resources/schema-fingerprint.json +7 -5
- package/dist/resources/schemas/AccessExplanationDto.json +144 -0
- package/dist/resources/schemas/AccessMatrixDto.json +170 -0
- package/dist/resources/schemas/AccessPermissionDto.json +57 -0
- package/dist/resources/schemas/AccessPolicyDto.json +223 -0
- package/dist/resources/schemas/AccessResourceDto.json +86 -0
- package/dist/resources/schemas/AppSessionDto.json +53 -0
- package/dist/resources/schemas/ConnectDataDescribeDto.json +344 -0
- package/dist/resources/schemas/ConnectDataRequestModel.json +202 -0
- package/dist/resources/schemas/ConnectDataResultDto.json +421 -0
- package/dist/resources/schemas/ConnectorCredentialDto.json +70 -0
- package/dist/resources/schemas/ConvertConnectDataToMicroserviceCommand.json +37 -0
- package/dist/resources/schemas/CreateAccessPolicyCommand.json +209 -0
- package/dist/resources/schemas/CreateDecisionCommand.json +221 -0
- package/dist/resources/schemas/CreateEntityCommand.json +118 -0
- package/dist/resources/schemas/CreateMicroserviceCommand.json +13 -1
- package/dist/resources/schemas/CreateProcessDefinitionCommand.json +1337 -0
- package/dist/resources/schemas/CreateQueryCommand.json +4 -0
- package/dist/resources/schemas/CreateWorkflowCommand.json +146 -1
- package/dist/resources/schemas/DataJobDto.json +6 -1
- package/dist/resources/schemas/DecisionDto.json +302 -0
- package/dist/resources/schemas/DetachConnectDataMicroserviceCommand.json +28 -0
- package/dist/resources/schemas/ExplainAccessQuery.json +33 -0
- package/dist/resources/schemas/GenerateProcessDocumentCommand.json +116 -0
- package/dist/resources/schemas/GlobalFunctionUpdateResultDto.json +25 -1
- package/dist/resources/schemas/MicroserviceDto.json +15 -3
- package/dist/resources/schemas/OrganizationProjectDto.json +335 -0
- package/dist/resources/schemas/OrganizationSchemaDto.json +196 -0
- package/dist/resources/schemas/OrganizationSchemaVersionDto.json +207 -0
- package/dist/resources/schemas/PatchProcessDefinitionCommand.json +76 -0
- package/dist/resources/schemas/PreviewMicroserviceCommand.json +10 -1
- package/dist/resources/schemas/PreviewWorkflowCommand.json +25 -1
- package/dist/resources/schemas/ProcessDefinitionDto.json +1480 -0
- package/dist/resources/schemas/ProcessSimulationDto.json +96 -0
- package/dist/resources/schemas/SaveConnectorCredentialCommand.json +90 -0
- package/dist/resources/schemas/SaveProcessEventSourceCommand.json +61 -0
- package/dist/resources/schemas/SaveProcessMailSourceCommand.json +89 -0
- package/dist/resources/schemas/SignProcessTaskCommand.json +73 -0
- package/dist/resources/schemas/SimulateProcessDefinitionQuery.json +92 -0
- package/dist/resources/schemas/StartMobileBuildCommand.json +54 -0
- package/dist/resources/schemas/StepDto.json +25 -1
- package/dist/resources/schemas/UpdateAccessPolicyCommand.json +209 -0
- package/dist/resources/schemas/UpdateDecisionCommand.json +216 -0
- package/dist/resources/schemas/UpdateEntityCommand.json +118 -0
- package/dist/resources/schemas/UpdateMicroserviceCommand.json +13 -1
- package/dist/resources/schemas/UpdateProcessDefinitionCommand.json +1357 -0
- package/dist/resources/schemas/UpdateQueryCommand.json +4 -0
- package/dist/resources/schemas/UpdateViewCommand.json +0 -2
- package/dist/resources/schemas/UpdateWorkflowCommand.json +146 -1
- package/dist/resources/schemas/UpsertMobileStoreSettingsCommand.json +274 -0
- package/dist/resources/schemas/ValidateProcessDefinitionQuery.json +1339 -0
- package/dist/server.js +31 -1
- package/dist/tools/access.js +369 -2
- package/dist/tools/accessOperations.js +135 -0
- package/dist/tools/accessPolicies.js +170 -0
- package/dist/tools/accessRuntime.js +203 -0
- package/dist/tools/applications.js +60 -3
- package/dist/tools/bpm.js +343 -0
- package/dist/tools/bpmGovernance.js +266 -0
- package/dist/tools/bpmOperations.js +230 -0
- package/dist/tools/bpmReporting.js +154 -0
- package/dist/tools/bpmRouting.js +150 -0
- package/dist/tools/bpmRuntime.js +396 -0
- package/dist/tools/case.js +178 -0
- package/dist/tools/caseRuntime.js +89 -0
- package/dist/tools/common.js +10 -1
- package/dist/tools/components.js +118 -14
- package/dist/tools/connectData.js +450 -0
- package/dist/tools/connectors.js +193 -0
- package/dist/tools/datasources.js +3 -3
- package/dist/tools/decisions.js +206 -0
- package/dist/tools/dependencies.js +1 -1
- package/dist/tools/deployments.js +38 -3
- package/dist/tools/designSchemaPatch.js +34 -9
- package/dist/tools/dtos.js +36 -5
- package/dist/tools/entities.js +79 -12
- package/dist/tools/externalComponents.js +26 -5
- package/dist/tools/flows.js +119 -17
- package/dist/tools/folders.js +1 -1
- package/dist/tools/imports.js +5 -2
- package/dist/tools/layouts.js +50 -17
- package/dist/tools/merges.js +2 -2
- package/dist/tools/microservices.js +77 -25
- package/dist/tools/mobile.js +280 -0
- package/dist/tools/mobileStore.js +556 -0
- package/dist/tools/modules.js +48 -0
- package/dist/tools/organizationStructure.js +137 -0
- package/dist/tools/pages.js +465 -98
- package/dist/tools/platformInfo.js +28 -8
- package/dist/tools/profileWrite.js +92 -0
- package/dist/tools/projects.js +71 -9
- package/dist/tools/rows.js +69 -13
- package/dist/tools/schemaOps.js +61 -1
- package/dist/tools/screenWrite.js +36 -7
- package/dist/tools/screens.js +95 -5
- package/dist/tools/templates.js +26 -1
- package/dist/tools/translations.js +1 -1
- package/dist/tools/variables.js +11 -5
- package/dist/tools/workflows.js +10 -5
- package/package.json +2 -2
- package/dist/platform/screenshot.js +0 -1162
|
@@ -19,7 +19,16 @@ export const componentEventContracts = {
|
|
|
19
19
|
rowChange: { payload: {}, reads: 'self.selectedRow (düzenlenen satır, YENİ değeriyle) — satır nesnesi self.rows içinde de yerinde güncellenir; değer gerçekten değişmediyse olay çalışmaz' }
|
|
20
20
|
},
|
|
21
21
|
datatable: {
|
|
22
|
-
mount: { payload: {}, reads: 'self.filters · self.sortField · self.sortType · self.offset · self.limit' }
|
|
22
|
+
mount: { payload: {}, reads: 'self.filters · self.sortField · self.sortType · self.offset · self.limit' },
|
|
23
|
+
save: {
|
|
24
|
+
payload: {},
|
|
25
|
+
reads: "self.changeset = { inserted:[{ rowId, values }], updated:[{ rowId, id, patch }], deleted:[{ rowId, id }] } (komponent olaydan ÖNCE yazar). Bağlı tabloda (rows connectData) yazmayı runtime bağlantısı yapar, akış ardından koşar; hatalar self.rowErrors [{ rowId, field?, message }]. İşlemin bağlamı da olaydan ÖNCE yazılır (2026-09-21): self.operation (rowAdd|rowEdit|cellEdit|rowDelete|bulkEdit|bulkDelete|batchSave), self.editedRows (tam satırlar), self.deletedRows (silinen tam satırlar), self.editedCell ({ rowId, field, value, previousValue }, yalnız cellEdit), self.bulkPatch (yalnız bulkEdit). Her işlem için ayrı olay yoktur; tek save akışı self.operation ile ayırır"
|
|
26
|
+
},
|
|
27
|
+
discard: { payload: {}, reads: 'self.discardedRowIds (vazgeçilen taslak satır kimlikleri)' },
|
|
28
|
+
rowClick: { payload: {}, reads: 'self.selectedRow (tıklanan satırın sunucu satırı; kaydedilmemiş yeni satırda taslak değerleri). Veri hücresine tıklamada yayılır — onay kutusu, ✏/🗑 ve aksiyon düğmeleri tetiklemez; çift tık önce iki rowClick üretir' },
|
|
29
|
+
rowDoubleClick: { payload: {}, reads: 'self.selectedRow (çift tıklanan satır). Düzenleme kipi açıksa satır/hücre ayrıca düzenlemeye açılır; editMode none tabloda detay sayfasına gitmek gibi akışlar için' },
|
|
30
|
+
cellSelectionChange: { payload: {}, reads: "self.selectedCells = { column, rowIds[], anchorRowId } (aynı kolonda Shift aralık, Ctrl/Alt tekil; yalnız düzenlenebilen hücreler)" },
|
|
31
|
+
rowSelectionChange: { payload: {}, reads: 'self.selectedRows (seçili satırların sunucu satırları; onay kutusu kolonu yalnız bulkActions açık ve editMode none değilken vardır)' }
|
|
23
32
|
},
|
|
24
33
|
button: { mount: NO_DATA, click: NO_DATA },
|
|
25
34
|
card: {
|
|
@@ -99,18 +108,18 @@ export const componentEventContracts = {
|
|
|
99
108
|
mount: NO_DATA,
|
|
100
109
|
change: {
|
|
101
110
|
payload: { value: 'FilterGroup (iç içe and/or kural ağacı)', jexl: 'string (aynı ağacın hazır jexl ifadesi)' },
|
|
102
|
-
reads: "setter yalnız `value`yi self’e yazar; `jexl` YALNIZ event.data’dadır (params) — sorguya bağlayacağın alan odur
|
|
111
|
+
reads: "setter yalnız `value`yi self’e yazar; `jexl` YALNIZ event.data’dadır (params) — sorguya bağlayacağın alan odur"
|
|
103
112
|
}
|
|
104
113
|
},
|
|
105
114
|
comments: {
|
|
106
115
|
mount: NO_DATA,
|
|
107
116
|
submit: {
|
|
108
|
-
payload: { text: 'string', parentId: "string (yanıtsa üst yorumun id’si, kök yorumda '')", mentions: 'string[] (metinden çözülmüş @kişi listesi)', author: 'string (currentUser)' },
|
|
109
|
-
reads: '
|
|
117
|
+
payload: { text: 'string', parentId: "string (yanıtsa üst yorumun id’si, kök yorumda '')", mentions: 'string[] (metinden çözülmüş @kişi listesi)', author: 'string (currentUser)', process: "{ scope: 'task' | 'instance', targetId, visibility, body (@Ad → @<id>), mentionUserIds } | null (serbest yorumda null)" },
|
|
118
|
+
reads: 'Komponent yorumu ANINDA iyimser olarak listeye ekler (bekleyen katman); kalıcılık akışın işidir — rows tazelenmezse bekleyen satır bir sonraki içerik değişiminde kaybolur'
|
|
110
119
|
},
|
|
111
|
-
like: { payload: { id: 'string', liked: 'boolean (yeni durum)', author: 'string (currentUser — işlemi yapan)' }, reads: '
|
|
112
|
-
edit: { payload: { id: 'string', text: 'string (yeni metin)', author: 'string (currentUser — işlemi yapan)' }, reads: '
|
|
113
|
-
delete: { payload: { id: 'string', author: 'string (currentUser — işlemi yapan)' }, reads: '
|
|
120
|
+
like: { payload: { id: 'string', liked: 'boolean (yeni durum)', author: 'string (currentUser — işlemi yapan)' }, reads: 'beğeni de iyimserdir; sayaç rows tazelenene kadar yerel. isDisabled/isReadonly/isViewmode açıkken yayılmaz' },
|
|
121
|
+
edit: { payload: { id: 'string', text: 'string (yeni metin)', author: 'string (currentUser — işlemi yapan)' }, reads: 'düzenleme de iyimserdir; yeni metin "düzenlendi" işaretiyle rows tazelenene kadar yerel. Metin değişmediyse yayılmaz' },
|
|
122
|
+
delete: { payload: { id: 'string', author: 'string (currentUser — işlemi yapan)' }, reads: 'satır (kök yorumsa yanıtlarıyla birlikte) listeden hemen gizlenir; uca yazmak akışın işidir' }
|
|
114
123
|
},
|
|
115
124
|
'auth-layout': { mount: NO_DATA, primaryClick: NO_DATA, secondaryClick: NO_DATA },
|
|
116
125
|
layout: { mount: NO_DATA, logout: NO_DATA },
|
|
@@ -345,7 +354,7 @@ export const componentEventContracts = {
|
|
|
345
354
|
'audit-basic': { mount: NO_DATA },
|
|
346
355
|
'audit-history': {
|
|
347
356
|
mount: NO_DATA,
|
|
348
|
-
showMore: { payload: {}, reads: 'yalnız histories visibleLogCount’u aşınca çıkan "Daha fazla göster" düğmesine basılınca; görünür sınır visibleLogCount kadar büyür, kalan kalmayınca düğme kaybolur
|
|
357
|
+
showMore: { payload: {}, reads: 'yalnız histories visibleLogCount’u aşınca çıkan "Daha fazla göster" düğmesine basılınca; görünür sınır visibleLogCount kadar büyür, kalan kalmayınca düğme kaybolur. Bileşen veri çekmez; backend kayıt başına en fazla 5 işlem verdiği için meta.history bağlıyken düğme ancak visibleLogCount < 5 iken çıkar' }
|
|
349
358
|
},
|
|
350
359
|
'form-validation-errors': { mount: NO_DATA },
|
|
351
360
|
'page-header': {
|
|
@@ -362,6 +371,7 @@ export const componentEventContracts = {
|
|
|
362
371
|
sidebar: { mount: NO_DATA },
|
|
363
372
|
html: { mount: NO_DATA },
|
|
364
373
|
view: { mount: NO_DATA },
|
|
374
|
+
'datatable-cell': { mount: NO_DATA },
|
|
365
375
|
'widget-area': { mount: NO_DATA },
|
|
366
376
|
'document-editor': { mount: NO_DATA },
|
|
367
377
|
video: {
|
|
@@ -371,7 +381,7 @@ export const componentEventContracts = {
|
|
|
371
381
|
},
|
|
372
382
|
click: {
|
|
373
383
|
payload: {},
|
|
374
|
-
reads:
|
|
384
|
+
reads: 'Yalnız akışa bağlıysa sarmalayıcı tıklanabilir olur; controls açıkken oynat/duraklat düğmesine basmak da bu olayı tetikler (tıklama sarmalayıcıya kabarır). isLoading:true iken HİÇ çalışmaz — o dalda oynatıcı yerine iskelet çizilir ve sarmalayıcı tıklanabilir değildir'
|
|
375
385
|
},
|
|
376
386
|
play: {
|
|
377
387
|
payload: { isPlaying: 'boolean (true)' },
|
|
@@ -384,14 +394,6 @@ export const componentEventContracts = {
|
|
|
384
394
|
ended: {
|
|
385
395
|
payload: { isPlaying: 'boolean (false)' },
|
|
386
396
|
reads: 'loop açıkken HİÇ yayılmaz (döngü videosu bitmez). event.data: { currentTime, duration } — bitişte currentTime pratikte duration’a eşittir. Bitişte pause’dan SONRA gelir (spesifikasyon sırası), yani ended akışı pause akışının ardından koşar'
|
|
387
|
-
},
|
|
388
|
-
load: {
|
|
389
|
-
payload: {},
|
|
390
|
-
reads: "Kaynağın İLK KARESİ hazır olunca (loadeddata) yayılır; kaynak her değiştiğinde yeniden. Değer yazmaz (setter yok). event.data: { duration: number (saniye; sonsuz ya da bilinmiyorsa 0), width: number, height: number (kaynağın kendi piksel boyu) }. Yalnız oynatıcı çizilirken yayılır: isLoading:true iken <video> yoktur, load gelmez (iskeleti kaynağı çözen sorgudan kapat). Boş src'de ya da error'da yayılmaz"
|
|
391
|
-
},
|
|
392
|
-
error: {
|
|
393
|
-
payload: {},
|
|
394
|
-
reads: "Kaynak yüklenemediğinde yayılır (404, video olmayan dosya, desteklenmeyen biçim, ağ kopması). Değer yazmaz, ama isPlaying true ise false'a düşer. event.data: { code: number (MediaError.code: 1 iptal · 2 ağ · 3 çözümleme · 4 kaynak yok/desteklenmiyor), message: string (tarayıcıya bağlı, çoğu kez boş) }. Bileşen kendi hata görünümü çizmez: siyah kutu kalır, kullanıcıya bildirmek akışın işidir. Boş src'de yayılmaz"
|
|
395
397
|
}
|
|
396
398
|
},
|
|
397
399
|
// — 2026-08-25 eşleme turu: ng-apps-ui'da olay YAYAN ama burada kaydı olmayan komponentler.
|
|
@@ -466,11 +468,11 @@ export const componentEventContracts = {
|
|
|
466
468
|
},
|
|
467
469
|
chart: {
|
|
468
470
|
mount: NO_DATA,
|
|
469
|
-
dataPointClick: { payload: { name: 'string (kategori); scatter grafiğinde x değeri', seriesName: 'string', value: 'number | null; scatter grafiğinde y', dataIndex: 'number', row: 'kaynak satırın TAMAMI | null' }, reads: 'YALNIZ seri
|
|
471
|
+
dataPointClick: { payload: { name: 'string (kategori); scatter grafiğinde x değeri', seriesName: 'string', value: 'number | null; scatter grafiğinde y', dataIndex: 'number (çizimdeki sıra)', row: 'kaynak satırın TAMAMI | null' }, reads: 'YALNIZ seri noktasına basışta; eksen etiketi tıklaması axisLabelClick’tir (2026-09-16 öncesinde o da boş bir dataPointClick üretiyordu), hedef çizgisi (referenceLines) ve bant (plotBands) olay değildir. row kategori adıyla — scatter’da x değeriyle — bulunur (nullMode skip ya da huni sıralaması dataIndex`i kaydırır); kategorisi olmayan noktada (histogram kutusu, radar serisi, funnelflow düğümü/bağı) null. scatter noktası ECharts tarafında [x, y, size] dizisidir, yük tek değere indirgenir: name = x, value = y' },
|
|
470
472
|
breadcrumbClick: { payload: { filterValue: 'hedef seviyenin filtre değeri (kök seviyede undefined)' } },
|
|
471
|
-
selectionChange: { payload: { selected: 'seçili veri noktaları' } },
|
|
473
|
+
selectionChange: { payload: { selected: 'seçili veri noktaları' }, reads: "yalnız selectionMode 'single'/'multi' iken; 'none' iken ECharts'ın her tıklamada attığı boş seçim yayılmaz (2026-09-25 öncesi yayılıyordu)" },
|
|
472
474
|
legendClick: { payload: { name: 'string (seri adı)', selected: 'seri → görünürlük haritası' } },
|
|
473
|
-
axisLabelClick: { payload: { value: 'string (tıklanan eksen etiketi)' }, reads: '
|
|
475
|
+
axisLabelClick: { payload: { value: 'string (tıklanan eksen etiketi)' }, reads: 'yalnız kategori ekseninin etiketine basışta; kategori ekseni hangi eksene düşerse oradan gelir — yatay yönelimde yAxis (2026-09-16 öncesinde yatayda hiç yayılmıyordu). Nokta tıklaması ve eksen başlığı (categoryAxis.title) bu olayı yaymaz — 2026-09-25 öncesinde nesne sorgusu süzmediği için her nokta tıklamasında noktanın değeriyle yayılıyordu' },
|
|
474
476
|
zoom: { payload: { start: 'number | null (görünen aralığın başlangıç yüzdesi)', end: 'number | null (bitiş yüzdesi)', startValue: 'number | null (eksenin kendi birimindeki mutlak alt sınır)', endValue: 'number | null (mutlak üst sınır)' }, reads: 'Yük normalize edilir: ECharts iki dataZoom bileşeniyle alanları batch içine koysa da akış her zaman bu dört alanı görür. Aralığı sorguya çevirecekseniz yüzdeleri değil startValue/endValue kullanın (2026-09-16)' },
|
|
475
477
|
refresh: NO_DATA,
|
|
476
478
|
retry: NO_DATA
|
|
@@ -670,7 +672,7 @@ export const componentEventContracts = {
|
|
|
670
672
|
fileName: 'string (okunan dosyanın adı; henüz dosya yoksa "")',
|
|
671
673
|
rowCount: 'number (dosyadaki HAM veri satırı sayısı — doğrulamadan önce)'
|
|
672
674
|
},
|
|
673
|
-
reads: "adım her değiştiğinde yayılır; currentStep ve fileName düğüme de yazılır (self.currentStep), rowCount yalnız event.data'dadır
|
|
675
|
+
reads: "adım her değiştiğinde yayılır; currentStep ve fileName düğüme de yazılır (self.currentStep), rowCount yalnız event.data'dadır"
|
|
674
676
|
},
|
|
675
677
|
complete: {
|
|
676
678
|
payload: {
|
|
@@ -727,6 +729,114 @@ export const componentEventContracts = {
|
|
|
727
729
|
payload: { currentStep: 'number (engellenen adım)', previous: 'number (aynı değer)' },
|
|
728
730
|
reads: 'YALNIZ İleri düğmesinden yayılır; engellenen başlık tıklaması sessiz kalır'
|
|
729
731
|
}
|
|
732
|
+
},
|
|
733
|
+
'task-inbox': {
|
|
734
|
+
mount: NO_DATA,
|
|
735
|
+
tabChange: {
|
|
736
|
+
payload: { tab: "string (mine | group | delegated | started | done | planned)", scope: 'string (app | realm)' },
|
|
737
|
+
reads: "setter: activeTab self'e yazılır; tab ve scope event.data ile gelir"
|
|
738
|
+
},
|
|
739
|
+
taskClick: { payload: { taskId: 'string', row: 'tıklanan satırın TAMAMI' }, reads: "self'e yazılmaz — event.data ile oku" },
|
|
740
|
+
claim: { payload: { taskId: 'string', version: 'string (optimistic sürüm)', row: 'satırın TAMAMI' }, reads: "self'e yazılmaz — event.data ile oku; process.task.claim { id: taskId, version }" },
|
|
741
|
+
bulkClaim: { payload: { taskIds: 'string[]', rows: 'seçili ve üstlenilebilir satırlar' }, reads: "self'e yazılmaz — event.data ile oku" },
|
|
742
|
+
search: { payload: { q: 'string (kırpılmış, boş gönderilmez)' }, reads: "self'e yazılmaz — event.data ile oku; rows ← process.task.list { tab, q } sonucu; appliedFilter sistem ucunda yok — rozet gerekiyorsa Page.bpm.tasks(tab, { q }).appliedFilter" },
|
|
743
|
+
clearFilter: { payload: {}, reads: "self'e yazılmaz; appliedFilter ← null ve liste q'suz yeniden okunur" }
|
|
744
|
+
},
|
|
745
|
+
'task-actions': {
|
|
746
|
+
mount: NO_DATA,
|
|
747
|
+
action: {
|
|
748
|
+
payload: { action: "string (approve | reject | complete | request-info | provide-info | reassign | sign | start-assessment | submit-assessment | özel eylem id)", taskId: 'string', version: "string? (start-assessment ve submit-assessment yükünde YOKTUR: sınavı açmak görevi üstlenir ve sürümü ilerletir, panelin çizildiği sürüm bayattır — gönderilse 409 alınır)", comment: 'string?', payload: "object? (sign: payload.signature = { meaning, email?, password }; submit-assessment: payload.answers = { soruId: cevap })", targetUserId: 'string? (reassign)' },
|
|
749
|
+
reads: "self'e yazılmaz — event.data ile oku; boş alanlar yükte hiç yoktur"
|
|
750
|
+
},
|
|
751
|
+
assistantSummary: { payload: { taskId: 'string' }, reads: "self'e yazılmaz — event.data ile oku; assistant ← await Page.bpm.task(taskId).assistant()" },
|
|
752
|
+
assistantAsk: { payload: { taskId: 'string', question: 'string (kırpılmış)' }, reads: "self'e yazılmaz — event.data ile oku; assistant ← await Page.bpm.task(taskId).assistant(question)" }
|
|
753
|
+
},
|
|
754
|
+
'process-timeline': {
|
|
755
|
+
mount: NO_DATA,
|
|
756
|
+
clickItem: { payload: { currentItem: 'tıklanan satır ({ key, kind, nodeId, taskId, title, actor, decision, round, isSuperseded })', index: 'number' }, reads: "self'e yazılmaz — event.data ile oku" },
|
|
757
|
+
exportLedger: { payload: {}, reads: 'yük yok — akış Page.bpm.instance(instanceId).exportLedger() ile CSV metnini alır' },
|
|
758
|
+
verifyLedger: { payload: {}, reads: "yük yok — akış process.instance.ledger.verify { id: instanceId } sonucunu (isValid, brokenAtSequence) ledgerStatus/brokenAtSequence'e yazar" }
|
|
759
|
+
},
|
|
760
|
+
'process-monitor': {
|
|
761
|
+
mount: NO_DATA,
|
|
762
|
+
filter: {
|
|
763
|
+
payload: { filter: 'object (güncel süzgeç: definitionId, state, unitId, priority, slaBreached …)', query: 'object (process.instance.list için yalnız sunucu alanları)' },
|
|
764
|
+
reads: "event.data ile oku; filter prop'u komponent içinde de güncellenir"
|
|
765
|
+
},
|
|
766
|
+
clickItem: { payload: { currentItem: 'tıklanan satırın TAMAMI (currentNodes, ageHours, slaStatus dahil)', index: 'number' }, reads: "self'e yazılmaz — event.data ile oku" },
|
|
767
|
+
instanceAction: {
|
|
768
|
+
payload: { operation: 'string (retry | skip | assign)', instanceId: 'string', nodeId: 'string? (ilk bekleyen adım)', taskIds: 'string[] (sahipsiz görevler)', reason: 'string?', targetUserId: 'string? (assign)', dueAt: 'string?', targetNodeId: 'string?' },
|
|
769
|
+
reads: "self'e yazılmaz — event.data ile oku; retry → process.instance.retry { id, reason }, skip → process.instance.skip { id, nodeId, reason }, assign → process.batch.execute { kind: 'reassign', taskIds, targetUserId, reason }"
|
|
770
|
+
},
|
|
771
|
+
bulkAction: {
|
|
772
|
+
payload: { operation: 'string (reassign | extend-due | suspend | jump | cancel)', instanceIds: 'string[] (uygun durumdaki seçili örnekler)', taskIds: 'string[] (yalnız reassign/extend-due)', fromNodeIds: 'object? (yalnız jump: { instanceId: bekleyen ilk adım })', reason: 'string?', targetUserId: 'string?', dueAt: 'string? (UTC ISO; yerel girişten çevrilir)', targetNodeId: 'string?' },
|
|
773
|
+
reads: "self'e yazılmaz — event.data ile oku; boş alanlar yükte hiç yoktur. reassign/extend-due → process.batch.execute { kind: operation, taskIds, … }; diğerleri örnek başına process.instance.<operation> { id, … } (jump: { fromNodeId: fromNodeIds[id], targetNodeId, reason }) — akış grafiğinde condition → microservice → code döngüsüyle"
|
|
774
|
+
},
|
|
775
|
+
undo: { payload: { batchOperationId: 'string' }, reads: "self'e yazılmaz — event.data ile oku; process.batch.undo { id: batchOperationId }" }
|
|
776
|
+
},
|
|
777
|
+
'process-variants': {
|
|
778
|
+
mount: NO_DATA,
|
|
779
|
+
select: {
|
|
780
|
+
payload: { value: "string (düğüm kimlikleri '>' ile birleşik)", path: 'string[]', instanceCount: 'number', sampleInstanceIds: 'string[] (en çok beş örnek)' },
|
|
781
|
+
reads: "value self'e yazılır (setter); path ve örnekler event.data ile okunur"
|
|
782
|
+
},
|
|
783
|
+
clickInstance: { payload: { instanceId: 'string' }, reads: "self'e yazılmaz — event.data ile oku; process.instance.get { id: instanceId }" },
|
|
784
|
+
download: { payload: { format: 'string (xes | ocel)' }, reads: "self'e yazılmaz — event.data ile oku; Page.bpm.exportLog(slug, format, { from, to })" }
|
|
785
|
+
},
|
|
786
|
+
'read-proof-matrix': {
|
|
787
|
+
mount: NO_DATA,
|
|
788
|
+
remind: {
|
|
789
|
+
payload: { revision: 'string', instanceId: 'string?', userIds: 'string[] (bekleyen okuyucular)' },
|
|
790
|
+
reads: "self'e yazılmaz — event.data ile oku; okumayanlara bildirim gönderen akışı çağır"
|
|
791
|
+
}
|
|
792
|
+
},
|
|
793
|
+
'case-view': {
|
|
794
|
+
mount: NO_DATA,
|
|
795
|
+
action: {
|
|
796
|
+
payload: { action: 'string (discretionary | start | complete | disable | enable)', itemId: 'string', planItemId: "string ('' — discretionary)" },
|
|
797
|
+
reads: "self'e yazılmaz — event.data ile oku; Page.bpm.cases.act(caseInstanceId, event.data), sonra view'i yeniden setter yaz"
|
|
798
|
+
},
|
|
799
|
+
clickTask: { payload: { taskId: 'string', planItemId: 'string', itemId: 'string' }, reads: "self'e yazılmaz — event.data ile oku; process.task.get { id: taskId }" }
|
|
800
|
+
},
|
|
801
|
+
'delegation-editor': {
|
|
802
|
+
mount: NO_DATA,
|
|
803
|
+
save: {
|
|
804
|
+
payload: { fromUserId: 'string? (yalnız başkası adına)', toUserId: 'string', startsAt: 'string (ISO)', endsAt: 'string? (ISO)', processSlugs: 'string[] (boş = tüm süreçler)', reason: 'string?' },
|
|
805
|
+
reads: "self'e yazılmaz — event.data ile oku; process.delegation.create (event.data alanları). Yalnız istemci doğrulaması geçince yayılır"
|
|
806
|
+
},
|
|
807
|
+
end: { payload: { delegationId: 'string' }, reads: "self'e yazılmaz — event.data ile oku; process.delegation.end { id: delegationId }" }
|
|
808
|
+
},
|
|
809
|
+
'handover-wizard': {
|
|
810
|
+
mount: NO_DATA,
|
|
811
|
+
stepChange: { payload: { step: 'string (tasks | ownership | confirm)', index: 'number' }, reads: "self'e yazılmaz — event.data ile oku" },
|
|
812
|
+
apply: {
|
|
813
|
+
payload: { userId: 'string', decisions: '[{ kind, key, target, targetUserId? }]', force: 'boolean', deactivate: 'boolean' },
|
|
814
|
+
reads: "self'e yazılmaz — event.data ile oku; process.handover.apply { userId, decisions, force }"
|
|
815
|
+
}
|
|
816
|
+
},
|
|
817
|
+
'notification-center': {
|
|
818
|
+
mount: NO_DATA,
|
|
819
|
+
open: { payload: { notificationId: 'string', link: 'string?', taskId: 'string?', instanceId: 'string?', markRead: 'boolean (okunmamış satırda true)' }, reads: "self'e yazılmaz — event.data ile oku" },
|
|
820
|
+
read: { payload: { notificationId: 'string' }, reads: "self'e yazılmaz — event.data ile oku; process.notification.read { id: notificationId }" },
|
|
821
|
+
ack: { payload: { notificationId: 'string' }, reads: "self'e yazılmaz — event.data ile oku; process.notification.ack { id: notificationId }" },
|
|
822
|
+
markAllRead: { payload: { notificationIds: 'string[] (okunmamışlar)' }, reads: "self'e yazılmaz — event.data ile oku; her kimlik için read()" },
|
|
823
|
+
savePreference: {
|
|
824
|
+
payload: { mode: 'string (immediate | digest | sla-only)', digestAt: "string ('HH:mm:00')", quietFrom: "string | null", quietTo: "string | null", timeZone: 'string' },
|
|
825
|
+
reads: "self'e yazılmaz — event.data ile oku; process.notification-preference.update (event.data alanları)"
|
|
826
|
+
}
|
|
827
|
+
},
|
|
828
|
+
'approval-chain-editor': {
|
|
829
|
+
mount: NO_DATA,
|
|
830
|
+
save: {
|
|
831
|
+
payload: { definitionId: 'string', baseVersion: 'number (aktif sürüm)', overrideRevision: 'number (okunan revizyon; uyarlama yoksa 0)', patch: 'JsonPatchOperation[] (aktif sürüme karşı tam uyarlama, seçicili yollar)' },
|
|
832
|
+
reads: "self'e yazılmaz — event.data ile oku; process.override.save { id: definitionId, baseVersion, overrideRevision, patch }. Yalnız istemci doğrulaması geçince yayılır"
|
|
833
|
+
},
|
|
834
|
+
reset: { payload: { definitionId: 'string' }, reads: "self'e yazılmaz — event.data ile oku; process.override.reset { id: definitionId }" },
|
|
835
|
+
migrateOpen: { payload: { definitionId: 'string' }, reads: "self'e yazılmaz — event.data ile oku; process.override.migrate-open { id: definitionId }" },
|
|
836
|
+
simulate: {
|
|
837
|
+
payload: { definitionId: 'string', subjectRowId: 'string?', overridePatch: 'JsonPatchOperation[] (kaydedilmemiş uyarlama)' },
|
|
838
|
+
reads: "self'e yazılmaz — event.data ile oku; process.override.simulate { id: definitionId, subjectRowId, overridePatch } sonucunu simulation prop'una yaz"
|
|
839
|
+
}
|
|
730
840
|
}
|
|
731
841
|
};
|
|
732
842
|
export const eventPayloadNote = "Olay yükü motorda komponentin KENDİ prop'una yazılır (FlowMachine.onEmit → setNode) ve akışta " +
|
|
@@ -738,8 +848,15 @@ export const eventPayloadNote = "Olay yükü motorda komponentin KENDİ prop'una
|
|
|
738
848
|
"payload boşsa olay veri taşımaz; 'reads' verilmişse değer yükte değil komponentin başka bir prop'undadır. " +
|
|
739
849
|
"self yerine value { type:'property', ref:{ source:'component', element:'<elementId>', property:'<prop>' } } de kullanılabilir. " +
|
|
740
850
|
"payload alanı yoksa yük sözlüğe henüz işlenmemiştir; tahmin etmeyin.";
|
|
741
|
-
|
|
742
|
-
|
|
851
|
+
/**
|
|
852
|
+
* `platformContracts` platforma özgü sözlüktür (mobilde `mobileComponentEvents.ts`): aynı olayda
|
|
853
|
+
* web sözleşmesinin ÖNÜNE geçer, web'de karşılığı olmayan bileşenin tek kaynağıdır.
|
|
854
|
+
*/
|
|
855
|
+
export function eventContractsFor(slug, names, platformContracts) {
|
|
856
|
+
const own = (source) => slug !== undefined && source !== undefined && Object.hasOwn(source, slug) ? source[slug] : undefined;
|
|
857
|
+
const web = own(componentEventContracts);
|
|
858
|
+
const platform = own(platformContracts);
|
|
859
|
+
const contracts = web || platform ? { ...web, ...platform } : undefined;
|
|
743
860
|
return names.map(name => {
|
|
744
861
|
const contract = contracts?.[name];
|
|
745
862
|
if (!contract)
|