@appaflytech/zeyrek-ai-mcp 0.0.5 → 0.0.7

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 (145) hide show
  1. package/.env.example +2 -2
  2. package/.env.production.example +9 -1
  3. package/README.md +14 -38
  4. package/dist/config.js +36 -3
  5. package/dist/knowledge/backendConstraints.js +982 -0
  6. package/dist/knowledge/componentCatalog.js +549 -92
  7. package/dist/knowledge/componentEvents.js +120 -25
  8. package/dist/knowledge/coverage.js +43 -0
  9. package/dist/knowledge/flowGuards.js +30 -0
  10. package/dist/knowledge/functionGuards.js +134 -0
  11. package/dist/knowledge/guideSections.js +49 -0
  12. package/dist/knowledge/hydrate.js +97 -0
  13. package/dist/knowledge/languageCodes.js +36 -0
  14. package/dist/knowledge/languages.js +105 -0
  15. package/dist/knowledge/layoutSummary.js +10 -0
  16. package/dist/knowledge/localization.js +51 -0
  17. package/dist/knowledge/normalize.js +500 -16
  18. package/dist/knowledge/outlines.js +167 -12
  19. package/dist/knowledge/policy.js +14 -5
  20. package/dist/knowledge/propTypes.js +80 -0
  21. package/dist/knowledge/rules.js +961 -44
  22. package/dist/knowledge/schemaGuard.js +199 -0
  23. package/dist/knowledge/styleResolve.js +63 -4
  24. package/dist/observability/trace.js +27 -3
  25. package/dist/platform/csv.js +123 -0
  26. package/dist/platform/errors.js +107 -6
  27. package/dist/platform/http.js +34 -4
  28. package/dist/platform/patch.js +27 -0
  29. package/dist/platform/refs.js +104 -0
  30. package/dist/platform/responses.js +25 -6
  31. package/dist/platform/screenshot.js +544 -16
  32. package/dist/platform/secrets.js +40 -0
  33. package/dist/platform/tokenVault.js +89 -0
  34. package/dist/platform/writeDiff.js +281 -0
  35. package/dist/resources/examples/flow-call-function.json +66 -0
  36. package/dist/resources/examples/function-total.json +70 -0
  37. package/dist/resources/examples/layout-app-shell.json +1 -1
  38. package/dist/resources/examples/microfunction-node-sum.json +56 -0
  39. package/dist/resources/examples/microservice-table-list.json +2 -4
  40. package/dist/resources/examples/page-dynamic-form.json +3 -3
  41. package/dist/resources/examples/page-flex-sections.json +99 -0
  42. package/dist/resources/examples/page-sign-in.json +4 -3
  43. package/dist/resources/guides/component.md +81 -8
  44. package/dist/resources/guides/entity.md +712 -20
  45. package/dist/resources/guides/expressions.md +47 -2
  46. package/dist/resources/guides/external-component.md +9 -0
  47. package/dist/resources/guides/functions.md +262 -0
  48. package/dist/resources/guides/getting-started.md +82 -7
  49. package/dist/resources/guides/layout.md +53 -10
  50. package/dist/resources/guides/merge.md +231 -0
  51. package/dist/resources/guides/microfunction.md +166 -0
  52. package/dist/resources/guides/microservice.md +287 -15
  53. package/dist/resources/guides/middleware.md +89 -1
  54. package/dist/resources/guides/modify-existing.md +23 -0
  55. package/dist/resources/guides/page.md +402 -49
  56. package/dist/resources/guides/translation.md +150 -8
  57. package/dist/resources/guides/view.md +16 -1
  58. package/dist/resources/guides/workflow.md +199 -28
  59. package/dist/resources/knowledge.js +5 -0
  60. package/dist/resources/rules.js +27 -0
  61. package/dist/resources/schema-fingerprint.json +8 -0
  62. package/dist/resources/schemas/AnalyzeImportQuery.json +51 -0
  63. package/dist/resources/schemas/ApplyMergePlanCommand.json +19 -0
  64. package/dist/resources/schemas/CreateBulkRowCommand.json +36 -0
  65. package/dist/resources/schemas/CreateDatasourceCommand.json +15 -6
  66. package/dist/resources/schemas/CreateDiscoveredEntitiesCommand.json +19 -8
  67. package/dist/resources/schemas/CreateEntityCommand.json +52 -12
  68. package/dist/resources/schemas/CreateEnvironmentCommand.json +31 -0
  69. package/dist/resources/schemas/CreateGlobalFunctionCommand.json +95 -0
  70. package/dist/resources/schemas/CreateImportPlanCommand.json +278 -0
  71. package/dist/resources/schemas/CreateMergePlanCommand.json +34 -0
  72. package/dist/resources/schemas/CreateMicrofunctionCommand.json +117 -0
  73. package/dist/resources/schemas/CreateMicrofunctionRuntimeCommand.json +51 -0
  74. package/dist/resources/schemas/CreateMicroserviceCommand.json +145 -3
  75. package/dist/resources/schemas/CreateQueryCommand.json +56 -3
  76. package/dist/resources/schemas/CreateRowCommand.json +38 -0
  77. package/dist/resources/schemas/CreateViewCommand.json +13 -10
  78. package/dist/resources/schemas/CreateWorkflowCommand.json +106 -14
  79. package/dist/resources/schemas/DataJobDto.json +267 -0
  80. package/dist/resources/schemas/ExportRowsCommand.json +172 -0
  81. package/dist/resources/schemas/Filter.json +3 -1
  82. package/dist/resources/schemas/GetRowsQuery.json +6 -1
  83. package/dist/resources/schemas/GlobalFunctionDto.json +89 -0
  84. package/dist/resources/schemas/GlobalFunctionUpdateResultDto.json +249 -0
  85. package/dist/resources/schemas/ImportAnalysisDto.json +401 -0
  86. package/dist/resources/schemas/ImportPlanDto.json +260 -0
  87. package/dist/resources/schemas/ImportSampleDto.json +90 -0
  88. package/dist/resources/schemas/InvokeMicrofunctionCommand.json +25 -0
  89. package/dist/resources/schemas/PreviewMicroserviceCommand.json +135 -1
  90. package/dist/resources/schemas/PreviewQueryCommand.json +5 -2
  91. package/dist/resources/schemas/PreviewWorkflowCommand.json +45 -9
  92. package/dist/resources/schemas/ResolveMergeConflictsCommand.json +58 -0
  93. package/dist/resources/schemas/RevertMergePlanCommand.json +19 -0
  94. package/dist/resources/schemas/RunImportCommand.json +62 -0
  95. package/dist/resources/schemas/StepDto.json +34 -3
  96. package/dist/resources/schemas/UpdateBulkRowCommand.json +36 -0
  97. package/dist/resources/schemas/UpdateDatasourceCommand.json +15 -6
  98. package/dist/resources/schemas/UpdateEntityCommand.json +52 -11
  99. package/dist/resources/schemas/UpdateGlobalFunctionCommand.json +66 -0
  100. package/dist/resources/schemas/UpdateMicrofunctionCommand.json +121 -0
  101. package/dist/resources/schemas/UpdateMicrofunctionRuntimeCommand.json +54 -0
  102. package/dist/resources/schemas/UpdateMicroserviceCommand.json +147 -4
  103. package/dist/resources/schemas/UpdateQueryCommand.json +13 -3
  104. package/dist/resources/schemas/UpdateRowCommand.json +40 -0
  105. package/dist/resources/schemas/UpdateViewCommand.json +15 -10
  106. package/dist/resources/schemas/UpdateWorkflowCommand.json +106 -14
  107. package/dist/server.js +17 -1
  108. package/dist/tools/access.js +3 -3
  109. package/dist/tools/activities.js +40 -0
  110. package/dist/tools/applications.js +1 -1
  111. package/dist/tools/automations.js +76 -34
  112. package/dist/tools/common.js +55 -0
  113. package/dist/tools/components.js +16 -7
  114. package/dist/tools/datasources.js +83 -21
  115. package/dist/tools/dependencies.js +1 -1
  116. package/dist/tools/deployments.js +34 -2
  117. package/dist/tools/dtos.js +25 -12
  118. package/dist/tools/entities.js +113 -28
  119. package/dist/tools/environments.js +52 -0
  120. package/dist/tools/externalComponents.js +9 -3
  121. package/dist/tools/files.js +57 -42
  122. package/dist/tools/flows.js +205 -13
  123. package/dist/tools/folders.js +7 -2
  124. package/dist/tools/functions.js +331 -0
  125. package/dist/tools/globalFunctions.js +63 -0
  126. package/dist/tools/importSchemas.js +79 -0
  127. package/dist/tools/imports.js +241 -0
  128. package/dist/tools/layouts.js +103 -29
  129. package/dist/tools/merges.js +113 -0
  130. package/dist/tools/microfunctions.js +155 -0
  131. package/dist/tools/microservices.js +270 -40
  132. package/dist/tools/organizations.js +5 -6
  133. package/dist/tools/pages.js +421 -104
  134. package/dist/tools/platformInfo.js +155 -11
  135. package/dist/tools/projects.js +183 -33
  136. package/dist/tools/queries.js +32 -10
  137. package/dist/tools/revisions.js +94 -0
  138. package/dist/tools/rows.js +484 -50
  139. package/dist/tools/screenWrite.js +68 -0
  140. package/dist/tools/screens.js +28 -0
  141. package/dist/tools/templates.js +32 -5
  142. package/dist/tools/translations.js +24 -8
  143. package/dist/tools/views.js +20 -10
  144. package/dist/tools/workflows.js +56 -21
  145. package/package.json +7 -2
@@ -0,0 +1,121 @@
1
+ {
2
+ "schema": {
3
+ "required": [
4
+ "name"
5
+ ],
6
+ "type": "object",
7
+ "properties": {
8
+ "id": {
9
+ "type": "string",
10
+ "format": "uuid"
11
+ },
12
+ "name": {
13
+ "maxLength": 255,
14
+ "minLength": 1,
15
+ "type": "string"
16
+ },
17
+ "description": {
18
+ "type": "string",
19
+ "nullable": true
20
+ },
21
+ "language": {
22
+ "$ref": "#/components/schemas/NgApps.Domain.Contexts.Studio.Microfunctions.MicrofunctionLanguage"
23
+ },
24
+ "provider": {
25
+ "$ref": "#/components/schemas/NgApps.Domain.Contexts.Studio.Microfunctions.MicrofunctionProvider"
26
+ },
27
+ "runtimeId": {
28
+ "type": "string",
29
+ "format": "uuid",
30
+ "nullable": true
31
+ },
32
+ "sourceKind": {
33
+ "$ref": "#/components/schemas/NgApps.Domain.Contexts.Studio.Microfunctions.MicrofunctionSourceKind"
34
+ },
35
+ "code": {
36
+ "type": "string",
37
+ "nullable": true
38
+ },
39
+ "entrypoint": {
40
+ "type": "string",
41
+ "nullable": true
42
+ },
43
+ "parameterDtoId": {
44
+ "type": "string",
45
+ "format": "uuid",
46
+ "nullable": true
47
+ },
48
+ "parameterBehavior": {
49
+ "$ref": "#/components/schemas/NgApps.Domain.Contexts.Shared.DataTransferObjects.DataTransferObjectBehavior"
50
+ },
51
+ "returnDtoId": {
52
+ "type": "string",
53
+ "format": "uuid",
54
+ "nullable": true
55
+ },
56
+ "returnBehavior": {
57
+ "$ref": "#/components/schemas/NgApps.Domain.Contexts.Shared.DataTransferObjects.DataTransferObjectBehavior"
58
+ },
59
+ "timeoutSeconds": {
60
+ "type": "integer",
61
+ "format": "int32"
62
+ },
63
+ "memoryMb": {
64
+ "maximum": 3008,
65
+ "minimum": 128,
66
+ "type": "integer",
67
+ "format": "int32"
68
+ },
69
+ "environmentVariables": {
70
+ "type": "object",
71
+ "additionalProperties": {
72
+ "type": "string",
73
+ "nullable": true
74
+ },
75
+ "nullable": true
76
+ },
77
+ "publish": {
78
+ "type": "boolean"
79
+ }
80
+ },
81
+ "additionalProperties": false
82
+ },
83
+ "components": {
84
+ "schemas": {
85
+ "NgApps.Domain.Contexts.Studio.Microfunctions.MicrofunctionLanguage": {
86
+ "enum": [
87
+ "node",
88
+ "python"
89
+ ],
90
+ "type": "string",
91
+ "format": ""
92
+ },
93
+ "NgApps.Domain.Contexts.Studio.Microfunctions.MicrofunctionProvider": {
94
+ "enum": [
95
+ "built-in",
96
+ "aws-lambda",
97
+ "azure-functions"
98
+ ],
99
+ "type": "string",
100
+ "format": ""
101
+ },
102
+ "NgApps.Domain.Contexts.Studio.Microfunctions.MicrofunctionSourceKind": {
103
+ "enum": [
104
+ "inline",
105
+ "archive"
106
+ ],
107
+ "type": "string",
108
+ "format": ""
109
+ },
110
+ "NgApps.Domain.Contexts.Shared.DataTransferObjects.DataTransferObjectBehavior": {
111
+ "enum": [
112
+ "primitive",
113
+ "object",
114
+ "array"
115
+ ],
116
+ "type": "string",
117
+ "format": ""
118
+ }
119
+ }
120
+ }
121
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "schema": {
3
+ "required": [
4
+ "accessKeyId",
5
+ "name",
6
+ "region"
7
+ ],
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "type": "string",
12
+ "format": "uuid"
13
+ },
14
+ "name": {
15
+ "maxLength": 255,
16
+ "minLength": 1,
17
+ "type": "string"
18
+ },
19
+ "provider": {
20
+ "$ref": "#/components/schemas/NgApps.Domain.Contexts.Studio.Microfunctions.MicrofunctionProvider"
21
+ },
22
+ "region": {
23
+ "minLength": 1,
24
+ "type": "string"
25
+ },
26
+ "accessKeyId": {
27
+ "minLength": 1,
28
+ "type": "string"
29
+ },
30
+ "secretAccessKey": {
31
+ "type": "string",
32
+ "nullable": true
33
+ },
34
+ "roleArn": {
35
+ "type": "string",
36
+ "nullable": true
37
+ }
38
+ },
39
+ "additionalProperties": false
40
+ },
41
+ "components": {
42
+ "schemas": {
43
+ "NgApps.Domain.Contexts.Studio.Microfunctions.MicrofunctionProvider": {
44
+ "enum": [
45
+ "built-in",
46
+ "aws-lambda",
47
+ "azure-functions"
48
+ ],
49
+ "type": "string",
50
+ "format": ""
51
+ }
52
+ }
53
+ }
54
+ }
@@ -1,5 +1,10 @@
1
1
  {
2
2
  "schema": {
3
+ "required": [
4
+ "name",
5
+ "slug",
6
+ "url"
7
+ ],
3
8
  "type": "object",
4
9
  "properties": {
5
10
  "id": {
@@ -7,16 +12,24 @@
7
12
  "format": "uuid"
8
13
  },
9
14
  "name": {
15
+ "minLength": 1,
16
+ "type": "string"
17
+ },
18
+ "description": {
10
19
  "type": "string",
11
20
  "nullable": true
12
21
  },
13
- "slug": {
22
+ "caution": {
14
23
  "type": "string",
15
24
  "nullable": true
16
25
  },
26
+ "slug": {
27
+ "minLength": 1,
28
+ "type": "string"
29
+ },
17
30
  "url": {
18
- "type": "string",
19
- "nullable": true
31
+ "minLength": 1,
32
+ "type": "string"
20
33
  },
21
34
  "httpMethod": {
22
35
  "$ref": "#/components/schemas/NgApps.Domain.Contexts.Studio.Microservices.HttpMethod"
@@ -110,6 +123,9 @@
110
123
  "cronExpression": {
111
124
  "type": "string",
112
125
  "nullable": true
126
+ },
127
+ "schedule": {
128
+ "$ref": "#/components/schemas/NgApps.Infrastructure.Scheduler.ScheduleDefinition"
113
129
  }
114
130
  },
115
131
  "additionalProperties": false
@@ -232,6 +248,58 @@
232
248
  },
233
249
  "additionalProperties": false
234
250
  },
251
+ "NgApps.Infrastructure.Scheduler.ScheduleDefinition": {
252
+ "type": "object",
253
+ "properties": {
254
+ "mode": {
255
+ "$ref": "#/components/schemas/NgApps.Infrastructure.Scheduler.ScheduleMode"
256
+ },
257
+ "timeZoneId": {
258
+ "type": "string",
259
+ "nullable": true
260
+ },
261
+ "startAt": {
262
+ "type": "string",
263
+ "format": "date-time",
264
+ "nullable": true
265
+ },
266
+ "every": {
267
+ "type": "integer",
268
+ "format": "int32",
269
+ "nullable": true
270
+ },
271
+ "unit": {
272
+ "$ref": "#/components/schemas/NgApps.Infrastructure.Scheduler.ScheduleIntervalUnit"
273
+ },
274
+ "timeOfDay": {
275
+ "type": "string",
276
+ "nullable": true
277
+ },
278
+ "daysOfWeek": {
279
+ "type": "array",
280
+ "items": {
281
+ "$ref": "#/components/schemas/NgApps.Infrastructure.Scheduler.ScheduleWeekday"
282
+ },
283
+ "nullable": true
284
+ },
285
+ "daysOfMonth": {
286
+ "type": "array",
287
+ "items": {
288
+ "type": "integer",
289
+ "format": "int32"
290
+ },
291
+ "nullable": true
292
+ },
293
+ "cronExpression": {
294
+ "type": "string",
295
+ "nullable": true
296
+ },
297
+ "end": {
298
+ "$ref": "#/components/schemas/NgApps.Infrastructure.Scheduler.ScheduleEnd"
299
+ }
300
+ },
301
+ "additionalProperties": false
302
+ },
235
303
  "NgApps.Domain.Contexts.Studio.Microservices.MicroserviceTableOperation": {
236
304
  "enum": [
237
305
  "create",
@@ -364,6 +432,9 @@
364
432
  "order": {
365
433
  "type": "integer",
366
434
  "format": "int32"
435
+ },
436
+ "writeOn": {
437
+ "$ref": "#/components/schemas/NgApps.Domain.Contexts.Studio.Microservices.MicroserviceFieldWriteOn"
367
438
  }
368
439
  },
369
440
  "additionalProperties": false
@@ -460,6 +531,58 @@
460
531
  "type": "string",
461
532
  "format": ""
462
533
  },
534
+ "NgApps.Infrastructure.Scheduler.ScheduleMode": {
535
+ "enum": [
536
+ "cron",
537
+ "interval",
538
+ "once"
539
+ ],
540
+ "type": "string",
541
+ "format": ""
542
+ },
543
+ "NgApps.Infrastructure.Scheduler.ScheduleIntervalUnit": {
544
+ "enum": [
545
+ "minute",
546
+ "hour",
547
+ "day",
548
+ "week",
549
+ "month"
550
+ ],
551
+ "type": "string",
552
+ "format": ""
553
+ },
554
+ "NgApps.Infrastructure.Scheduler.ScheduleWeekday": {
555
+ "enum": [
556
+ "monday",
557
+ "tuesday",
558
+ "wednesday",
559
+ "thursday",
560
+ "friday",
561
+ "saturday",
562
+ "sunday"
563
+ ],
564
+ "type": "string",
565
+ "format": ""
566
+ },
567
+ "NgApps.Infrastructure.Scheduler.ScheduleEnd": {
568
+ "type": "object",
569
+ "properties": {
570
+ "type": {
571
+ "$ref": "#/components/schemas/NgApps.Infrastructure.Scheduler.ScheduleEndType"
572
+ },
573
+ "at": {
574
+ "type": "string",
575
+ "format": "date-time",
576
+ "nullable": true
577
+ },
578
+ "count": {
579
+ "type": "integer",
580
+ "format": "int32",
581
+ "nullable": true
582
+ }
583
+ },
584
+ "additionalProperties": false
585
+ },
463
586
  "NgApps.Domain.Contexts.Datastore.Entities.OperatorType": {
464
587
  "enum": [
465
588
  "eq",
@@ -475,7 +598,9 @@
475
598
  "startswith",
476
599
  "endswith",
477
600
  "istartswith",
478
- "iendswith"
601
+ "iendswith",
602
+ "isnull",
603
+ "isnotnull"
479
604
  ],
480
605
  "type": "string",
481
606
  "format": ""
@@ -506,6 +631,24 @@
506
631
  ],
507
632
  "type": "string",
508
633
  "format": ""
634
+ },
635
+ "NgApps.Domain.Contexts.Studio.Microservices.MicroserviceFieldWriteOn": {
636
+ "enum": [
637
+ "always",
638
+ "create",
639
+ "update"
640
+ ],
641
+ "type": "string",
642
+ "format": ""
643
+ },
644
+ "NgApps.Infrastructure.Scheduler.ScheduleEndType": {
645
+ "enum": [
646
+ "never",
647
+ "on",
648
+ "after"
649
+ ],
650
+ "type": "string",
651
+ "format": ""
509
652
  }
510
653
  }
511
654
  }
@@ -1,5 +1,10 @@
1
1
  {
2
2
  "schema": {
3
+ "required": [
4
+ "datasourceId",
5
+ "rawQuery",
6
+ "slug"
7
+ ],
3
8
  "type": "object",
4
9
  "properties": {
5
10
  "id": {
@@ -7,18 +12,23 @@
7
12
  "format": "uuid"
8
13
  },
9
14
  "rawQuery": {
10
- "type": "string",
11
- "nullable": true
15
+ "minLength": 1,
16
+ "type": "string"
12
17
  },
13
18
  "slug": {
19
+ "minLength": 1,
20
+ "type": "string"
21
+ },
22
+ "name": {
14
23
  "type": "string",
15
24
  "nullable": true
16
25
  },
17
- "name": {
26
+ "description": {
18
27
  "type": "string",
19
28
  "nullable": true
20
29
  },
21
30
  "datasourceId": {
31
+ "minLength": 1,
22
32
  "type": "string",
23
33
  "format": "uuid"
24
34
  },
@@ -0,0 +1,40 @@
1
+ {
2
+ "schema": {
3
+ "required": [
4
+ "row"
5
+ ],
6
+ "type": "object",
7
+ "properties": {
8
+ "entityId": {
9
+ "type": "string",
10
+ "format": "uuid"
11
+ },
12
+ "row": {
13
+ "type": "object",
14
+ "additionalProperties": {
15
+ "nullable": true
16
+ }
17
+ },
18
+ "rowContext": {
19
+ "type": "object",
20
+ "additionalProperties": {
21
+ "nullable": true
22
+ },
23
+ "nullable": true
24
+ },
25
+ "localizations": {
26
+ "type": "object",
27
+ "additionalProperties": {
28
+ "type": "object",
29
+ "additionalProperties": {},
30
+ "nullable": true
31
+ },
32
+ "nullable": true
33
+ }
34
+ },
35
+ "additionalProperties": false
36
+ },
37
+ "components": {
38
+ "schemas": {}
39
+ }
40
+ }
@@ -1,14 +1,19 @@
1
1
  {
2
2
  "schema": {
3
+ "required": [
4
+ "id",
5
+ "name"
6
+ ],
3
7
  "type": "object",
4
8
  "properties": {
5
9
  "id": {
10
+ "minLength": 1,
6
11
  "type": "string",
7
12
  "format": "uuid"
8
13
  },
9
14
  "name": {
10
- "type": "string",
11
- "nullable": true
15
+ "minLength": 1,
16
+ "type": "string"
12
17
  },
13
18
  "slug": {
14
19
  "type": "string",
@@ -43,6 +48,13 @@
43
48
  },
44
49
  "components": {
45
50
  "schemas": {
51
+ "NgApps.Domain.Contexts.Datastore.Views.ViewProviderType": {
52
+ "enum": [
53
+ "postgres"
54
+ ],
55
+ "type": "string",
56
+ "format": ""
57
+ },
46
58
  "NgApps.Application.Contexts.Datastore.Views.ViewAnalyzerInput": {
47
59
  "type": "object",
48
60
  "properties": {
@@ -105,13 +117,6 @@
105
117
  },
106
118
  "additionalProperties": false
107
119
  },
108
- "NgApps.Domain.Contexts.Datastore.Views.ViewProviderType": {
109
- "enum": [
110
- "postgres"
111
- ],
112
- "type": "string",
113
- "format": ""
114
- },
115
120
  "NgApps.Domain.Contexts.Datastore.Views.ViewLanguage": {
116
121
  "enum": [
117
122
  "simple",
@@ -150,4 +155,4 @@
150
155
  }
151
156
  }
152
157
  }
153
- }
158
+ }