@grexx/grexxlinter 0.2.1 → 0.2.343

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 (46) hide show
  1. package/cli.js +3 -3
  2. package/lsp.js +2 -2
  3. package/package.json +1 -1
  4. package/schemas/.coverage.json +3176 -1101
  5. package/schemas/activityAttribute.schema.json +116 -55
  6. package/schemas/activityRight.schema.json +65 -45
  7. package/schemas/agentTool.schema.json +3 -1
  8. package/schemas/attribute.schema.json +32 -0
  9. package/schemas/catchBlock.schema.json +82 -56
  10. package/schemas/conditionList.schema.json +69 -50
  11. package/schemas/customThrow.schema.json +82 -54
  12. package/schemas/dataRetentionProfile.schema.json +70 -65
  13. package/schemas/datasetColumn.schema.json +11 -0
  14. package/schemas/datasetRight.schema.json +0 -1
  15. package/schemas/datasource.schema.json +64 -54
  16. package/schemas/fileUploadProfile.schema.json +60 -55
  17. package/schemas/forEach.schema.json +33 -0
  18. package/schemas/formRight.schema.json +0 -1
  19. package/schemas/formfield.schema.json +44 -0
  20. package/schemas/ifthenelse.schema.json +73 -57
  21. package/schemas/jobStep.schema.json +47 -52
  22. package/schemas/llmModel.schema.json +98 -58
  23. package/schemas/metadata.schema.json +3 -1
  24. package/schemas/navigation.schema.json +31 -3
  25. package/schemas/picklistItem.schema.json +49 -54
  26. package/schemas/platformAttribute.schema.json +66 -0
  27. package/schemas/requestContext.schema.json +10 -0
  28. package/schemas/securityProfile.schema.json +53 -47
  29. package/schemas/securityRequirement.schema.json +52 -47
  30. package/schemas/simpleCondition.schema.json +15 -0
  31. package/schemas/tag.schema.json +43 -48
  32. package/schemas/taskQueue.schema.json +56 -51
  33. package/schemas/template/date-function.schema.json +1 -0
  34. package/schemas/template/html.schema.json +1 -0
  35. package/schemas/template/if.schema.json +1 -0
  36. package/schemas/template/iterator.schema.json +1 -0
  37. package/schemas/template/multivalue.schema.json +1 -0
  38. package/schemas/template/picklist.schema.json +1 -0
  39. package/schemas/template/util.schema.json +4 -0
  40. package/schemas/trigger.schema.json +33 -0
  41. package/schemas/tryBlock.schema.json +2 -2
  42. package/schemas/view.schema.json +1 -2
  43. package/schemas/webhook.schema.json +46 -58
  44. package/schemas/while.schema.json +33 -0
  45. package/schemas/widget.schema.json +197 -2
  46. package/schemas/widgetRight.schema.json +0 -1
@@ -1,79 +1,119 @@
1
1
  {
2
- "$id" : "https://grexx.net/studio-next/schemas/llmModel.schema.json",
3
- "$schema" : "https://json-schema.org/draft/2020-12/schema",
4
- "additionalProperties" : false,
5
- "properties" : {
6
- "_id" : {
7
- "type" : "string"
8
- },
9
- "_interfaceID" : {
10
- "type" : "string"
11
- },
12
- "_isInterface" : {
13
- "type" : "boolean"
14
- },
15
- "_knownIDs" : {
16
- "items" : {
17
- "type" : "string"
2
+ "$id": "https://grexx.net/studio-next/schemas/llmModel.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "_id": {
7
+ "type": "string"
8
+ },
9
+ "_interfaceID": {
10
+ "type": "string"
11
+ },
12
+ "_isInterface": {
13
+ "type": "boolean"
14
+ },
15
+ "_knownIDs": {
16
+ "items": {
17
+ "type": "string"
18
18
  },
19
- "type" : "array"
19
+ "type": "array"
20
20
  },
21
- "_origin" : {
22
- "type" : "string"
21
+ "_origin": {
22
+ "type": "string"
23
23
  },
24
- "_src" : {
25
- "type" : "string"
24
+ "_src": {
25
+ "type": "string"
26
26
  },
27
- "_type" : {
28
- "const" : "llmModel"
27
+ "_type": {
28
+ "const": "llmModel"
29
29
  },
30
- "_uid" : {
31
- "description" : "Deterministic UUID derived from case-ID.",
32
- "format" : "uuid",
33
- "type" : "string"
30
+ "_uid": {
31
+ "description": "Deterministic UUID derived from case-ID.",
32
+ "format": "uuid",
33
+ "type": "string"
34
34
  },
35
- "agentTextModel" : {
36
- "type" : "string"
35
+ "agentTextModel": {
36
+ "type": "string"
37
37
  },
38
- "description" : {
39
- "$ref" : "template/inlineTemplate.schema.json"
38
+ "description": {
39
+ "$ref": "template/inlineTemplate.schema.json"
40
40
  },
41
- "inactive" : {
42
- "type" : "boolean"
41
+ "inactive": {
42
+ "type": "boolean"
43
43
  },
44
- "interfaceStudioProduct" : {
45
- "$ref" : "common.schema.json#/$defs/caseIdOrFileReference"
44
+ "interfaceStudioProduct": {
45
+ "$ref": "common.schema.json#/$defs/caseIdOrFileReference"
46
46
  },
47
- "llmFrequencyPenalty" : {
48
- "type" : "number"
47
+ "llmFrequencyPenalty": {
48
+ "type": "number"
49
49
  },
50
- "llmMaxCompletionTokens" : {
51
- "type" : "integer"
50
+ "llmMaxCompletionTokens": {
51
+ "type": "integer"
52
52
  },
53
- "llmPresencePenalty" : {
54
- "type" : "number"
53
+ "llmPresencePenalty": {
54
+ "type": "number"
55
55
  },
56
- "llmProvider" : {
57
- "enum" : [ "openai", "anthropic", "gemini", "seepseek", "litellm", "unknown" ],
58
- "type" : "string"
56
+ "llmProvider": {
57
+ "enum": [
58
+ "openai",
59
+ "anthropic",
60
+ "gemini",
61
+ "seepseek",
62
+ "litellm",
63
+ "unknown"
64
+ ],
65
+ "type": "string"
59
66
  },
60
- "llmTemperature" : {
61
- "type" : "number"
67
+ "llmTemperature": {
68
+ "type": "number"
62
69
  },
63
- "llmTopP" : {
64
- "type" : "number"
70
+ "llmTopP": {
71
+ "type": "number"
65
72
  },
66
- "metaCaseToOtap" : {
67
- "type" : "boolean"
73
+ "metaCaseToOtap": {
74
+ "type": "boolean"
68
75
  },
69
- "name" : {
70
- "$ref" : "common.schema.json#/$defs/multilanguageStringStructure"
76
+ "name": {
77
+ "$ref": "common.schema.json#/$defs/multilanguageStringStructure"
71
78
  },
72
- "ourProductId" : {
73
- "$ref" : "common.schema.json#/$defs/caseIdOrFileReference"
79
+ "ourProductId": {
80
+ "$ref": "common.schema.json#/$defs/caseIdOrFileReference"
74
81
  }
75
82
  },
76
- "required" : [ "_type", "_uid" ],
77
- "title" : "llmModel",
78
- "type" : "object"
79
- }
83
+ "required": [
84
+ "_type",
85
+ "_uid",
86
+ "agentTextModel",
87
+ "name"
88
+ ],
89
+ "title": "llmModel",
90
+ "type": "object",
91
+ "allOf": [
92
+ {
93
+ "properties": {
94
+ "llmFrequencyPenalty": false
95
+ }
96
+ },
97
+ {
98
+ "properties": {
99
+ "llmMaxCompletionTokens": false
100
+ }
101
+ },
102
+ {
103
+ "properties": {
104
+ "llmPresencePenalty": false
105
+ }
106
+ },
107
+ {
108
+ "properties": {
109
+ "llmTemperature": false
110
+ }
111
+ },
112
+ {
113
+ "properties": {
114
+ "llmTopP": false
115
+ }
116
+ }
117
+ ],
118
+ "$comment": "Conditionals generated by packages/schemas/scripts/extend.mjs from rules/llmModel.json."
119
+ }
@@ -71,7 +71,9 @@
71
71
  },
72
72
  "required": [
73
73
  "_type",
74
- "_uid"
74
+ "_uid",
75
+ "name",
76
+ "type"
75
77
  ],
76
78
  "title": "metadata",
77
79
  "type": "object",
@@ -71,14 +71,42 @@
71
71
  },
72
72
  "required": [
73
73
  "_type",
74
- "_uid"
74
+ "_uid",
75
+ "name"
75
76
  ],
76
77
  "title": "navigation",
77
78
  "type": "object",
78
79
  "allOf": [
79
80
  {
80
- "properties": {
81
- "rootMenuItem": false
81
+ "if": {
82
+ "anyOf": [
83
+ {
84
+ "properties": {
85
+ "type": {
86
+ "const": "sidebar-left"
87
+ }
88
+ },
89
+ "required": [
90
+ "type"
91
+ ]
92
+ },
93
+ {
94
+ "properties": {
95
+ "type": {
96
+ "const": "sidebar-right"
97
+ }
98
+ },
99
+ "required": [
100
+ "type"
101
+ ]
102
+ }
103
+ ]
104
+ },
105
+ "then": {},
106
+ "else": {
107
+ "properties": {
108
+ "uncollapsible": false
109
+ }
82
110
  }
83
111
  }
84
112
  ],
@@ -1,71 +1,66 @@
1
1
  {
2
- "$id": "https://grexx.net/studio-next/schemas/picklistItem.schema.json",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "additionalProperties": false,
5
- "properties": {
6
- "_id": {
7
- "type": "string"
8
- },
9
- "_interfaceID": {
10
- "type": "string"
11
- },
12
- "_isInterface": {
13
- "type": "boolean"
14
- },
15
- "_knownIDs": {
16
- "items": {
17
- "type": "string"
2
+ "$id" : "https://grexx.net/studio-next/schemas/picklistItem.schema.json",
3
+ "$schema" : "https://json-schema.org/draft/2020-12/schema",
4
+ "additionalProperties" : false,
5
+ "properties" : {
6
+ "_id" : {
7
+ "type" : "string"
8
+ },
9
+ "_interfaceID" : {
10
+ "type" : "string"
11
+ },
12
+ "_isInterface" : {
13
+ "type" : "boolean"
14
+ },
15
+ "_knownIDs" : {
16
+ "items" : {
17
+ "type" : "string"
18
18
  },
19
- "type": "array"
19
+ "type" : "array"
20
20
  },
21
- "_origin": {
22
- "type": "string"
21
+ "_origin" : {
22
+ "type" : "string"
23
23
  },
24
- "_src": {
25
- "type": "string"
24
+ "_src" : {
25
+ "type" : "string"
26
26
  },
27
- "_type": {
28
- "const": "picklistItem"
27
+ "_type" : {
28
+ "const" : "picklistItem"
29
29
  },
30
- "_uid": {
31
- "description": "Deterministic UUID derived from case-ID.",
32
- "format": "uuid",
33
- "type": "string"
30
+ "_uid" : {
31
+ "description" : "Deterministic UUID derived from case-ID.",
32
+ "format" : "uuid",
33
+ "type" : "string"
34
34
  },
35
- "condition": {
36
- "$ref": "abstractCondition.schema.json"
35
+ "condition" : {
36
+ "$ref" : "abstractCondition.schema.json"
37
37
  },
38
- "description": {
39
- "$ref": "template/inlineTemplate.schema.json"
38
+ "description" : {
39
+ "$ref" : "template/inlineTemplate.schema.json"
40
40
  },
41
- "disabled": {
42
- "type": "boolean"
41
+ "disabled" : {
42
+ "type" : "boolean"
43
43
  },
44
- "inactive": {
45
- "type": "boolean"
44
+ "inactive" : {
45
+ "type" : "boolean"
46
46
  },
47
- "interfaceStudioProduct": {
48
- "$ref": "common.schema.json#/$defs/caseIdOrFileReference"
47
+ "interfaceStudioProduct" : {
48
+ "$ref" : "common.schema.json#/$defs/caseIdOrFileReference"
49
49
  },
50
- "label": {
51
- "$ref": "common.schema.json#/$defs/multilanguageStringStructure"
50
+ "label" : {
51
+ "$ref" : "common.schema.json#/$defs/multilanguageStringStructure"
52
52
  },
53
- "metaCaseToOtap": {
54
- "type": "boolean"
53
+ "metaCaseToOtap" : {
54
+ "type" : "boolean"
55
55
  },
56
- "ourProductId": {
57
- "$ref": "common.schema.json#/$defs/caseIdOrFileReference"
56
+ "ourProductId" : {
57
+ "$ref" : "common.schema.json#/$defs/caseIdOrFileReference"
58
58
  },
59
- "value": {
60
- "type": "string"
59
+ "value" : {
60
+ "type" : "string"
61
61
  }
62
62
  },
63
- "required": [
64
- "_type",
65
- "_uid",
66
- "ourProductId"
67
- ],
68
- "title": "picklistItem",
69
- "type": "object",
70
- "$comment": "Conditionals generated by packages/schemas/scripts/extend.mjs from rules/picklistItem.json."
71
- }
63
+ "required" : [ "_type", "_uid" ],
64
+ "title" : "picklistItem",
65
+ "type" : "object"
66
+ }
@@ -273,6 +273,38 @@
273
273
  }
274
274
  }
275
275
  },
276
+ {
277
+ "if": {
278
+ "allOf": [
279
+ {
280
+ "properties": {
281
+ "calculatedCached": {
282
+ "const": "true"
283
+ }
284
+ },
285
+ "required": [
286
+ "calculatedCached"
287
+ ]
288
+ },
289
+ {
290
+ "properties": {
291
+ "isCalculated": {
292
+ "const": "true"
293
+ }
294
+ },
295
+ "required": [
296
+ "isCalculated"
297
+ ]
298
+ }
299
+ ]
300
+ },
301
+ "then": {},
302
+ "else": {
303
+ "properties": {
304
+ "calculationOrder": false
305
+ }
306
+ }
307
+ },
276
308
  {
277
309
  "properties": {
278
310
  "validation": false
@@ -294,6 +326,40 @@
294
326
  "calcTemplate"
295
327
  ]
296
328
  }
329
+ },
330
+ {
331
+ "if": {
332
+ "properties": {
333
+ "type": {
334
+ "const": "singlecurrencymoney"
335
+ }
336
+ },
337
+ "required": [
338
+ "type"
339
+ ]
340
+ },
341
+ "then": {
342
+ "required": [
343
+ "currency"
344
+ ]
345
+ }
346
+ },
347
+ {
348
+ "if": {
349
+ "properties": {
350
+ "type": {
351
+ "const": "case"
352
+ }
353
+ },
354
+ "required": [
355
+ "type"
356
+ ]
357
+ },
358
+ "then": {
359
+ "required": [
360
+ "subtype"
361
+ ]
362
+ }
297
363
  }
298
364
  ],
299
365
  "$comment": "Conditionals generated by packages/schemas/scripts/extend.mjs from rules/platformAttribute.json."
@@ -92,6 +92,11 @@
92
92
  "title": "requestContext",
93
93
  "type": "object",
94
94
  "allOf": [
95
+ {
96
+ "properties": {
97
+ "hasValidConfiguration": false
98
+ }
99
+ },
95
100
  {
96
101
  "if": {
97
102
  "anyOf": [
@@ -144,6 +149,11 @@
144
149
  }
145
150
  }
146
151
  },
152
+ {
153
+ "properties": {
154
+ "wasEverFullyConfigured": false
155
+ }
156
+ },
147
157
  {
148
158
  "if": {
149
159
  "properties": {
@@ -1,63 +1,69 @@
1
1
  {
2
- "$id" : "https://grexx.net/studio-next/schemas/securityProfile.schema.json",
3
- "$schema" : "https://json-schema.org/draft/2020-12/schema",
4
- "additionalProperties" : false,
5
- "properties" : {
6
- "_id" : {
7
- "type" : "string"
8
- },
9
- "_interfaceID" : {
10
- "type" : "string"
11
- },
12
- "_isInterface" : {
13
- "type" : "boolean"
14
- },
15
- "_knownIDs" : {
16
- "items" : {
17
- "type" : "string"
2
+ "$id": "https://grexx.net/studio-next/schemas/securityProfile.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "_id": {
7
+ "type": "string"
8
+ },
9
+ "_interfaceID": {
10
+ "type": "string"
11
+ },
12
+ "_isInterface": {
13
+ "type": "boolean"
14
+ },
15
+ "_knownIDs": {
16
+ "items": {
17
+ "type": "string"
18
18
  },
19
- "type" : "array"
19
+ "type": "array"
20
20
  },
21
- "_origin" : {
22
- "type" : "string"
21
+ "_origin": {
22
+ "type": "string"
23
23
  },
24
- "_src" : {
25
- "type" : "string"
24
+ "_src": {
25
+ "type": "string"
26
26
  },
27
- "_type" : {
28
- "const" : "securityProfile"
27
+ "_type": {
28
+ "const": "securityProfile"
29
29
  },
30
- "_uid" : {
31
- "description" : "Deterministic UUID derived from case-ID.",
32
- "format" : "uuid",
33
- "type" : "string"
30
+ "_uid": {
31
+ "description": "Deterministic UUID derived from case-ID.",
32
+ "format": "uuid",
33
+ "type": "string"
34
34
  },
35
- "description" : {
36
- "$ref" : "template/inlineTemplate.schema.json"
35
+ "description": {
36
+ "$ref": "template/inlineTemplate.schema.json"
37
37
  },
38
- "inactive" : {
39
- "type" : "boolean"
38
+ "inactive": {
39
+ "type": "boolean"
40
40
  },
41
- "interfaceStudioProduct" : {
42
- "$ref" : "common.schema.json#/$defs/caseIdOrFileReference"
41
+ "interfaceStudioProduct": {
42
+ "$ref": "common.schema.json#/$defs/caseIdOrFileReference"
43
43
  },
44
- "metaCaseToOtap" : {
45
- "type" : "boolean"
44
+ "metaCaseToOtap": {
45
+ "type": "boolean"
46
46
  },
47
- "name" : {
48
- "$ref" : "common.schema.json#/$defs/multilanguageStringStructure"
47
+ "name": {
48
+ "$ref": "common.schema.json#/$defs/multilanguageStringStructure"
49
49
  },
50
- "ourProductId" : {
51
- "$ref" : "common.schema.json#/$defs/caseIdOrFileReference"
50
+ "ourProductId": {
51
+ "$ref": "common.schema.json#/$defs/caseIdOrFileReference"
52
52
  },
53
- "securityRequirements" : {
54
- "items" : {
55
- "$ref" : "common.schema.json#/$defs/caseIdOrFileReference"
53
+ "securityRequirements": {
54
+ "items": {
55
+ "$ref": "common.schema.json#/$defs/caseIdOrFileReference"
56
56
  },
57
- "type" : "array"
57
+ "type": "array"
58
58
  }
59
59
  },
60
- "required" : [ "_type", "_uid" ],
61
- "title" : "securityProfile",
62
- "type" : "object"
63
- }
60
+ "required": [
61
+ "_type",
62
+ "_uid",
63
+ "name",
64
+ "securityRequirements"
65
+ ],
66
+ "title": "securityProfile",
67
+ "type": "object",
68
+ "$comment": "Conditionals generated by packages/schemas/scripts/extend.mjs from rules/securityProfile.json."
69
+ }