@xano/xanoscript-language-server 11.12.2 → 11.12.3

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 (337) hide show
  1. package/package.json +25 -1
  2. package/.claude/memory/feedback_no_git.md +0 -11
  3. package/.claude/settings.local.json +0 -21
  4. package/.github/copilot-instructions.md +0 -190
  5. package/.github/workflows/ci.yml +0 -31
  6. package/.husky/pre-commit +0 -1
  7. package/CLAUDE.md +0 -256
  8. package/eslint.config.js +0 -24
  9. package/lexer/comment.spec.js +0 -77
  10. package/lexer/multiline.spec.js +0 -179
  11. package/lexer/regexp.spec.js +0 -84
  12. package/lexer/tests/query/query_lexer.spec.js +0 -36
  13. package/lexer/tests/query/valid_sources/basic_query.xs +0 -44
  14. package/lexer/tests/query/valid_sources/db_query.xs +0 -77
  15. package/lexer/tests/query/valid_sources/empty_query.xs +0 -5
  16. package/lexer/tests/query/valid_sources/header_query.xs +0 -15
  17. package/lexer/tests/table/basic_table.xs +0 -17
  18. package/lexer/tests/table/empty_table.xs +0 -3
  19. package/lexer/tests/table/table_lexer.spec.js +0 -324
  20. package/lexer/utils.spec.js +0 -61
  21. package/onCompletion/contentAssist.spec.js +0 -275
  22. package/onDefinition/onDefinition.spec.js +0 -313
  23. package/onHover/FilterMessageProvider.spec.js +0 -85
  24. package/onHover/FunctionMessageProvider.spec.js +0 -128
  25. package/onHover/InputFilterMessageProvider.spec.js +0 -329
  26. package/onHover/QueryFilterMessageProvider.spec.js +0 -164
  27. package/onHover/onHoverDocument.spec.js +0 -660
  28. package/parser/addon_parser.spec.js +0 -88
  29. package/parser/agent_parser.spec.js +0 -599
  30. package/parser/agent_trigger_parser.spec.js +0 -525
  31. package/parser/api_group_parser.spec.js +0 -137
  32. package/parser/attributes/columnDefaultValueAttribute.spec.js +0 -49
  33. package/parser/attributes/descriptionFieldAttribute.spec.js +0 -39
  34. package/parser/attributes/disabledFieldAttribute.spec.js +0 -34
  35. package/parser/attributes/docsFieldAttribute.spec.js +0 -44
  36. package/parser/attributes/guidFieldAttribute.spec.js +0 -93
  37. package/parser/attributes/inputFilterFn.spec.js +0 -39
  38. package/parser/attributes/sensitiveFieldAttribute.spec.js +0 -39
  39. package/parser/attributes/valueFieldAttribute.spec.js +0 -54
  40. package/parser/attributes/valuesFieldAttribute.spec.js +0 -44
  41. package/parser/attributes/visibilityFieldAttribute.spec.js +0 -44
  42. package/parser/branch_parser.spec.js +0 -34
  43. package/parser/clauses/agentClause.spec.js +0 -34
  44. package/parser/clauses/authClause.spec.js +0 -39
  45. package/parser/clauses/cacheClause.spec.js +0 -103
  46. package/parser/clauses/canonicalClause.spec.js +0 -34
  47. package/parser/clauses/channelClause.spec.js +0 -34
  48. package/parser/clauses/dbTableClause.spec.js +0 -34
  49. package/parser/clauses/historyClause.spec.js +0 -53
  50. package/parser/clauses/indexClause.spec.js +0 -47
  51. package/parser/clauses/inputClause.spec.js +0 -96
  52. package/parser/clauses/mcpServerClause.spec.js +0 -34
  53. package/parser/clauses/middlewareClause.spec.js +0 -161
  54. package/parser/clauses/nakedStackFn.spec.js +0 -73
  55. package/parser/clauses/responseClause.spec.js +0 -47
  56. package/parser/clauses/scheduleClause.spec.js +0 -71
  57. package/parser/clauses/schemaClause.spec.js +0 -102
  58. package/parser/clauses/testClause.spec.js +0 -69
  59. package/parser/clauses/viewClause.spec.js +0 -163
  60. package/parser/definitions/arraySlice.spec.js +0 -49
  61. package/parser/definitions/columnDefinition.spec.js +0 -199
  62. package/parser/definitions/dbLinkColumnDefinition.spec.js +0 -45
  63. package/parser/definitions/enumColumnDefinition.spec.js +0 -108
  64. package/parser/definitions/filterDefinition.spec.js +0 -43
  65. package/parser/definitions/objectColumnDefinition.spec.js +0 -118
  66. package/parser/function_parser.spec.js +0 -131
  67. package/parser/functions/actionCallFn.spec.js +0 -51
  68. package/parser/functions/addonCallFn.spec.js +0 -41
  69. package/parser/functions/ai/aiAgentRunFn.spec.js +0 -94
  70. package/parser/functions/ai/aiExternalMcpServerDetailsFn.spec.js +0 -85
  71. package/parser/functions/ai/aiExternalMcpToolListFn.spec.js +0 -85
  72. package/parser/functions/ai/aiExternalMcpToolRunFn.spec.js +0 -101
  73. package/parser/functions/aiFn.spec.js +0 -51
  74. package/parser/functions/api/apiCallFn.spec.js +0 -62
  75. package/parser/functions/api/apiLambdaFn.spec.js +0 -63
  76. package/parser/functions/api/apiRealtimeEventFn.spec.js +0 -82
  77. package/parser/functions/api/apiRequestFn.spec.js +0 -113
  78. package/parser/functions/api/apiStreamFn.spec.js +0 -44
  79. package/parser/functions/api/webflowRequestFn.spec.js +0 -114
  80. package/parser/functions/array/arrayDifferenceFn.spec.js +0 -34
  81. package/parser/functions/array/arrayFindFn.spec.js +0 -44
  82. package/parser/functions/array/arrayGroupByFn.spec.js +0 -41
  83. package/parser/functions/array/arrayIntersectionFn.spec.js +0 -22
  84. package/parser/functions/array/arrayMapFn.spec.js +0 -37
  85. package/parser/functions/array/arrayNoValueAs.spec.js +0 -56
  86. package/parser/functions/array/arrayPartitionFn.spec.js +0 -29
  87. package/parser/functions/array/arrayUnionFn.spec.js +0 -22
  88. package/parser/functions/array/arrayValueIfAs.spec.js +0 -54
  89. package/parser/functions/array/arrayValueOnly.spec.js +0 -61
  90. package/parser/functions/array/valueAttrOnly.spec.js +0 -61
  91. package/parser/functions/cloud/cloudAlgoliaRequestFn.spec.js +0 -30
  92. package/parser/functions/cloud/cloudAwsS3Fn.spec.js +0 -21
  93. package/parser/functions/cloud/cloudDeleteFileFn.spec.js +0 -25
  94. package/parser/functions/cloud/cloudGetFileInfoFn.spec.js +0 -25
  95. package/parser/functions/cloud/cloudListDirectoryFn.spec.js +0 -26
  96. package/parser/functions/cloud/cloudReadFileFn.spec.js +0 -25
  97. package/parser/functions/cloud/cloudSearchDocumentFn.spec.js +0 -28
  98. package/parser/functions/cloud/cloudSearchQueryFn.spec.js +0 -32
  99. package/parser/functions/cloud/cloudSearchRequestFn.spec.js +0 -32
  100. package/parser/functions/cloud/cloudSignUrlFn.spec.js +0 -26
  101. package/parser/functions/cloud/cloudStorageFn.spec.js +0 -21
  102. package/parser/functions/cloud/cloudUploadFileFn.spec.js +0 -29
  103. package/parser/functions/controls/awaitFn.spec.js +0 -48
  104. package/parser/functions/controls/conditionalFn.spec.js +0 -188
  105. package/parser/functions/controls/forEachFn.spec.js +0 -109
  106. package/parser/functions/controls/forFn.spec.js +0 -85
  107. package/parser/functions/controls/functionRunFn.spec.js +0 -87
  108. package/parser/functions/controls/groupFn.spec.js +0 -63
  109. package/parser/functions/controls/preconditionFn.spec.js +0 -107
  110. package/parser/functions/controls/returnFn.spec.js +0 -44
  111. package/parser/functions/controls/switchFn.spec.js +0 -118
  112. package/parser/functions/controls/throwFn.spec.js +0 -56
  113. package/parser/functions/controls/tryCatchFn.spec.js +0 -193
  114. package/parser/functions/controls/whileFn.spec.js +0 -94
  115. package/parser/functions/db/dbAddFn.spec.js +0 -72
  116. package/parser/functions/db/dbAddOrEditFn.spec.js +0 -97
  117. package/parser/functions/db/dbBulkAddFn.spec.js +0 -94
  118. package/parser/functions/db/dbBulkDeleteFn.spec.js +0 -28
  119. package/parser/functions/db/dbBulkPatchFn.spec.js +0 -42
  120. package/parser/functions/db/dbBulkUpdateFn.spec.js +0 -42
  121. package/parser/functions/db/dbDelFn.spec.js +0 -67
  122. package/parser/functions/db/dbDirectQueryFn.spec.js +0 -104
  123. package/parser/functions/db/dbEditFn.spec.js +0 -122
  124. package/parser/functions/db/dbExternalDirectQueryFn.spec.js +0 -103
  125. package/parser/functions/db/dbGetFn.spec.js +0 -117
  126. package/parser/functions/db/dbHasFn.spec.js +0 -62
  127. package/parser/functions/db/dbPatchFn.spec.js +0 -88
  128. package/parser/functions/db/dbQueryFn.spec.js +0 -380
  129. package/parser/functions/db/dbSchemaFn.spec.js +0 -42
  130. package/parser/functions/db/dbSetDatasourceFn.spec.js +0 -44
  131. package/parser/functions/db/dbTransactionFn.spec.js +0 -63
  132. package/parser/functions/db/dbTruncateFn.spec.js +0 -42
  133. package/parser/functions/debug/debugLogFn.spec.js +0 -44
  134. package/parser/functions/debug/debugStopFn.spec.js +0 -44
  135. package/parser/functions/expect/unitExpectToBeWithinFn.spec.js +0 -63
  136. package/parser/functions/expect/unitExpectToThrowFn.spec.js +0 -40
  137. package/parser/functions/expect/unitExpectWithArgumentsFn.spec.js +0 -355
  138. package/parser/functions/expect/unitExpectWithoutArgumentsFn.spec.js +0 -69
  139. package/parser/functions/expect/workflowExpectToBeWithinFn.spec.js +0 -70
  140. package/parser/functions/expect/workflowExpectToThrowFn.spec.js +0 -56
  141. package/parser/functions/expect/workflowExpectWithArgumentsFn.spec.js +0 -308
  142. package/parser/functions/expect/workflowExpectWithoutArgumentsFn.spec.js +0 -87
  143. package/parser/functions/math/allMathFn.spec.js +0 -100
  144. package/parser/functions/middlewareCallFn.spec.js +0 -44
  145. package/parser/functions/object/objectEntriesFn.spec.js +0 -44
  146. package/parser/functions/object/objectKeysFn.spec.js +0 -44
  147. package/parser/functions/object/objectValuesFn.spec.js +0 -44
  148. package/parser/functions/redis/redisCountFn.spec.js +0 -58
  149. package/parser/functions/redis/redisDecrFn.spec.js +0 -47
  150. package/parser/functions/redis/redisDelFn.spec.js +0 -58
  151. package/parser/functions/redis/redisGetFn.spec.js +0 -67
  152. package/parser/functions/redis/redisHasFn.spec.js +0 -58
  153. package/parser/functions/redis/redisIncrFn.spec.js +0 -74
  154. package/parser/functions/redis/redisKeysFn.spec.js +0 -67
  155. package/parser/functions/redis/redisPopFn.spec.js +0 -75
  156. package/parser/functions/redis/redisPushFn.spec.js +0 -71
  157. package/parser/functions/redis/redisRangeFn.spec.js +0 -80
  158. package/parser/functions/redis/redisRateLimitFn.spec.js +0 -87
  159. package/parser/functions/redis/redisRemoveFn.spec.js +0 -65
  160. package/parser/functions/redis/redisSetFn.spec.js +0 -89
  161. package/parser/functions/redis/redisShiftFn.spec.js +0 -75
  162. package/parser/functions/redis/redisUnshiftFn.spec.js +0 -73
  163. package/parser/functions/schema/schemaFn.spec.js +0 -92
  164. package/parser/functions/schema/schemaParseArrayFn.spec.js +0 -134
  165. package/parser/functions/schema/schemaParseAttributeFn.spec.js +0 -285
  166. package/parser/functions/schema/schemaParseConstantFn.spec.js +0 -122
  167. package/parser/functions/schema/schemaParseEnum.spec.js +0 -47
  168. package/parser/functions/schema/schemaParseImmutableFn.spec.js +0 -99
  169. package/parser/functions/schema/schemaParseObjectFn.spec.js +0 -223
  170. package/parser/functions/schema/utils.spec.js +0 -27
  171. package/parser/functions/security/securityCheckPasswordFn.spec.js +0 -22
  172. package/parser/functions/security/securityCreateAuthTokenFn.spec.js +0 -51
  173. package/parser/functions/security/securityCreateCurveKeyFn.spec.js +0 -22
  174. package/parser/functions/security/securityCreatePasswordFn.spec.js +0 -26
  175. package/parser/functions/security/securityCreateRsaKeyFn.spec.js +0 -22
  176. package/parser/functions/security/securityCreateSecretKeyFn.spec.js +0 -22
  177. package/parser/functions/security/securityCreateUuidFn.spec.js +0 -27
  178. package/parser/functions/security/securityDecryptFn.spec.js +0 -24
  179. package/parser/functions/security/securityEncryptFn.spec.js +0 -24
  180. package/parser/functions/security/securityJweDecodeFn.spec.js +0 -26
  181. package/parser/functions/security/securityJweDecodeLegacyFn.spec.js +0 -26
  182. package/parser/functions/security/securityJweEncodeFn.spec.js +0 -26
  183. package/parser/functions/security/securityJweEncodeLegacyFn.spec.js +0 -25
  184. package/parser/functions/security/securityJwsDecodeFn.spec.js +0 -25
  185. package/parser/functions/security/securityJwsEncodeFn.spec.js +0 -25
  186. package/parser/functions/security/securityRandomBytesFn.spec.js +0 -21
  187. package/parser/functions/security/securityRandomNumberFn.spec.js +0 -22
  188. package/parser/functions/storage/storageCreateAttachmentFn.spec.js +0 -87
  189. package/parser/functions/storage/storageCreateAudioFn.spec.js +0 -98
  190. package/parser/functions/storage/storageCreateFileResourceFn.spec.js +0 -72
  191. package/parser/functions/storage/storageCreateImageFn.spec.js +0 -98
  192. package/parser/functions/storage/storageCreateVideoFn.spec.js +0 -99
  193. package/parser/functions/storage/storageDeleteFileFn.spec.js +0 -67
  194. package/parser/functions/storage/storageReadFileResourceFn.spec.js +0 -60
  195. package/parser/functions/storage/storageSignPrivateUrlFn.spec.js +0 -72
  196. package/parser/functions/stream/streamFromCsvFn.spec.js +0 -69
  197. package/parser/functions/stream/streamFromJsonlFn.spec.js +0 -47
  198. package/parser/functions/stream/streamFromRequestFn.spec.js +0 -103
  199. package/parser/functions/text/allTextWithReturnValueFn.spec.js +0 -100
  200. package/parser/functions/text/allTextWithoutReturnValueFn.spec.js +0 -122
  201. package/parser/functions/toolCallFn.spec.js +0 -28
  202. package/parser/functions/triggerCallFn.spec.js +0 -51
  203. package/parser/functions/unitExpectFn.spec.js +0 -21
  204. package/parser/functions/util/utilGeoDistanceFn.spec.js +0 -79
  205. package/parser/functions/util/utilGetAllInputFn.spec.js +0 -33
  206. package/parser/functions/util/utilGetEnvFn.spec.js +0 -33
  207. package/parser/functions/util/utilGetRawInputFn.spec.js +0 -62
  208. package/parser/functions/util/utilGetVarsFn.spec.js +0 -33
  209. package/parser/functions/util/utilIpLookupFn.spec.js +0 -37
  210. package/parser/functions/util/utilPostProcessFn.spec.js +0 -63
  211. package/parser/functions/util/utilSendEmailFn.spec.js +0 -62
  212. package/parser/functions/util/utilSetHeaderFn.spec.js +0 -48
  213. package/parser/functions/util/utilSleepFn.spec.js +0 -44
  214. package/parser/functions/util/utilTemplateFn.spec.js +0 -78
  215. package/parser/functions/varFn.spec.js +0 -332
  216. package/parser/functions/workflowExpectFn.spec.js +0 -32
  217. package/parser/functions/zip/zipAddToArchiveFn.spec.js +0 -78
  218. package/parser/functions/zip/zipCreateArchiveFn.spec.js +0 -53
  219. package/parser/functions/zip/zipDeleteFromArchiveFn.spec.js +0 -69
  220. package/parser/functions/zip/zipExtractFn.spec.js +0 -52
  221. package/parser/functions/zip/zipViewContentsFn.spec.js +0 -52
  222. package/parser/generic/arrayWithValues.spec.js +0 -72
  223. package/parser/generic/asVariable.spec.js +0 -117
  224. package/parser/generic/assignableVariableAs.spec.js +0 -126
  225. package/parser/generic/assignableVariableProperty.spec.js +0 -138
  226. package/parser/generic/castedValue.spec.js +0 -29
  227. package/parser/generic/chainedIdentifier.spec.js +0 -89
  228. package/parser/generic/completeAuthVariable.spec.js +0 -23
  229. package/parser/generic/completeEnvVariable.spec.js +0 -99
  230. package/parser/generic/completeErrorVariable.spec.js +0 -17
  231. package/parser/generic/completeInputVariable.spec.js +0 -53
  232. package/parser/generic/expressionFn.spec.js +0 -605
  233. package/parser/generic/filterFn.spec.js +0 -47
  234. package/parser/generic/functionAttrReq.spec.js +0 -353
  235. package/parser/generic/longFormVariable.spec.js +0 -25
  236. package/parser/generic/minimalFnBody.spec.js +0 -47
  237. package/parser/generic/mockAttribute.spec.js +0 -57
  238. package/parser/generic/multilineFilterFn.spec.js +0 -51
  239. package/parser/generic/objectWithAttributes.spec.js +0 -147
  240. package/parser/generic/requiredValueFnBody.spec.js +0 -56
  241. package/parser/generic/shortFormVariable.spec.js +0 -27
  242. package/parser/generic/stringArray.spec.js +0 -55
  243. package/parser/generic/tagsAttribute.spec.js +0 -47
  244. package/parser/generic/variableOnly.spec.js +0 -47
  245. package/parser/mcp_server_parser.spec.js +0 -478
  246. package/parser/mcp_server_trigger_parser.spec.js +0 -396
  247. package/parser/metadata/columnMetadataDefinition.spec.js +0 -47
  248. package/parser/metadata/enumColumnMetadataDefinition.spec.js +0 -81
  249. package/parser/middleware_parser.spec.js +0 -230
  250. package/parser/multidoc.spec.js +0 -946
  251. package/parser/query_parser.spec.js +0 -202
  252. package/parser/realtime_channel_parser.spec.js +0 -20
  253. package/parser/realtime_trigger_parser.spec.js +0 -469
  254. package/parser/run_parser.spec.js +0 -100
  255. package/parser/table_parser.spec.js +0 -176
  256. package/parser/table_trigger_parser.spec.js +0 -478
  257. package/parser/task_parser.spec.js +0 -94
  258. package/parser/tests/agent/agent_parser.spec.js +0 -52
  259. package/parser/tests/agent/valid_sources/customer_servier_agent.xs +0 -45
  260. package/parser/tests/api_group/api_group_parser.spec.js +0 -52
  261. package/parser/tests/api_group/valid_sources/api_group_history.xs +0 -4
  262. package/parser/tests/api_group/valid_sources/basic_api_group.xs +0 -3
  263. package/parser/tests/api_group/valid_sources/complete_api_group.xs +0 -7
  264. package/parser/tests/api_group/valid_sources/protected_api_group.xs +0 -7
  265. package/parser/tests/function/function_parser.spec.js +0 -52
  266. package/parser/tests/function/valid_sources/all_controls.xs +0 -68
  267. package/parser/tests/function/valid_sources/all_query_return_types.xs +0 -227
  268. package/parser/tests/function/valid_sources/all_storage.xs +0 -45
  269. package/parser/tests/function/valid_sources/discord_poll_send_to_slack.xs +0 -133
  270. package/parser/tests/function/valid_sources/expression_in_response.xs +0 -22
  271. package/parser/tests/function/valid_sources/filter_by_value.xs +0 -55
  272. package/parser/tests/function/valid_sources/filter_query.xs +0 -82
  273. package/parser/tests/function/valid_sources/large_regex.xs +0 -13
  274. package/parser/tests/function/valid_sources/ledash_ends_with.xs +0 -90
  275. package/parser/tests/function/valid_sources/multiline_description.xs +0 -28
  276. package/parser/tests/function/valid_sources/multiline_expr.xs +0 -41
  277. package/parser/tests/function/valid_sources/set_theory_fn.xs +0 -129
  278. package/parser/tests/function/valid_sources/simple_unit_test.xs +0 -33
  279. package/parser/tests/function/valid_sources/valid_officer.xs +0 -57
  280. package/parser/tests/function/valid_sources/webflow.xs +0 -18
  281. package/parser/tests/query/query_parser.spec.js +0 -54
  282. package/parser/tests/query/valid_sources/all_basics.xs +0 -51
  283. package/parser/tests/query/valid_sources/all_cloud.xs +0 -141
  284. package/parser/tests/query/valid_sources/all_db.xs +0 -102
  285. package/parser/tests/query/valid_sources/all_external_db.xs +0 -43
  286. package/parser/tests/query/valid_sources/all_keywords.xs +0 -65
  287. package/parser/tests/query/valid_sources/all_math.xs +0 -53
  288. package/parser/tests/query/valid_sources/all_object.xs +0 -25
  289. package/parser/tests/query/valid_sources/all_redis.xs +0 -106
  290. package/parser/tests/query/valid_sources/all_security.xs +0 -105
  291. package/parser/tests/query/valid_sources/all_stream.xs +0 -69
  292. package/parser/tests/query/valid_sources/all_text.xs +0 -54
  293. package/parser/tests/query/valid_sources/all_util.xs +0 -66
  294. package/parser/tests/query/valid_sources/all_zip.xs +0 -39
  295. package/parser/tests/query/valid_sources/arrays.xs +0 -33
  296. package/parser/tests/query/valid_sources/disabled_response.xs +0 -27
  297. package/parser/tests/query/valid_sources/multiline_lambda_GET.xs +0 -50
  298. package/parser/tests/query/valid_sources/mutliline_query.xs +0 -140
  299. package/parser/tests/query/valid_sources/patch_expression_multiline.xs +0 -27
  300. package/parser/tests/query/valid_sources/query_cache.xs +0 -34
  301. package/parser/tests/query/valid_sources/query_example.xs +0 -43
  302. package/parser/tests/query/valid_sources/query_mini.xs +0 -11
  303. package/parser/tests/query/valid_sources/query_rich_inputs.xs +0 -32
  304. package/parser/tests/query/valid_sources/simple_unit_test.xs +0 -33
  305. package/parser/tests/query/valid_sources/test_with_slashes.xs +0 -22
  306. package/parser/tests/query/valid_sources/with_unit_test.xs +0 -97
  307. package/parser/tests/table/table_parser.spec.js +0 -52
  308. package/parser/tests/table/valid_sources/account.xs +0 -31
  309. package/parser/tests/table/valid_sources/all_basic_columns.xs +0 -44
  310. package/parser/tests/table/valid_sources/basic_table.xs +0 -15
  311. package/parser/tests/table/valid_sources/empty_object.xs +0 -17
  312. package/parser/tests/table/valid_sources/empty_table.xs +0 -3
  313. package/parser/tests/table/valid_sources/multiline_index.xs +0 -33
  314. package/parser/tests/table/valid_sources/relation.xs +0 -44
  315. package/parser/tests/table/valid_sources/rich_columns.xs +0 -31
  316. package/parser/tests/table/valid_sources/table_with_comments.xs +0 -17
  317. package/parser/tests/table/valid_sources/table_with_search_index.xs +0 -31
  318. package/parser/tests/table/valid_sources/view_table.xs +0 -62
  319. package/parser/tests/task/task_parser.spec.js +0 -53
  320. package/parser/tests/task/valid_sources/active_event.xs +0 -11
  321. package/parser/tests/task/valid_sources/all_events.xs +0 -17
  322. package/parser/tests/task/valid_sources/create_leak.xs +0 -165
  323. package/parser/tests/task/valid_sources/daily_sales_report.xs +0 -56
  324. package/parser/tests/task/valid_sources/inactive_event.xs +0 -11
  325. package/parser/tests/variable_test/coverage_check.xs +0 -293
  326. package/parser/tests/workflow_test/valid_sources/basic_workflow_test.xs +0 -13
  327. package/parser/tests/workflow_test/workflow_test_parser.spec.js +0 -52
  328. package/parser/tool_parser.spec.js +0 -115
  329. package/parser/variableValidator.spec.js +0 -179
  330. package/parser/workflow_test_parser.spec.js +0 -136
  331. package/parser/workspace_parser.spec.js +0 -142
  332. package/parser/workspace_trigger_parser.spec.js +0 -332
  333. package/toTmLanguage.js +0 -75
  334. package/utils.spec.js +0 -369
  335. package/workspace/crossFileValidator.spec.js +0 -654
  336. package/workspace/referenceTracking.spec.js +0 -420
  337. package/workspace/workspaceIndex.spec.js +0 -189
@@ -1,52 +0,0 @@
1
- import { expect } from "chai";
2
- import { readdirSync, readFileSync } from "fs";
3
- import { truncate } from "lodash-es";
4
- import { describe, it } from "mocha";
5
- import { dirname, join } from "path";
6
- import { xanoscriptParser } from "../../parser.js";
7
-
8
- describe("Xanoscript ApiGroup Parser", () => {
9
- it("parses all the valid sources", () => {
10
- const errors = [];
11
- const files = readdirSync(
12
- join(dirname("./"), "parser/tests/api_group/valid_sources")
13
- );
14
- files.forEach((file) => {
15
- const source = readFileSync(
16
- join(dirname("./"), "parser/tests/api_group/valid_sources", file),
17
- "utf8"
18
- );
19
- const parser = xanoscriptParser(source);
20
-
21
- if (parser.errors.length > 0) {
22
- parser.errors.forEach((error) => {
23
- errors.push({
24
- previous: error.previousToken
25
- ? `${error.previousToken.tokenType.name} (${truncate(
26
- error.previousToken.image,
27
- {
28
- length: 20,
29
- }
30
- )})`
31
- : "N/A",
32
- file: `parser/tests/api_group/valid_sources/${file}:${error.token.startLine}:${error.token.startColumn}`,
33
- stack: parser.sectionStack[parser.sectionStack.length - 1],
34
- message: truncate(error.message, { length: 50 }),
35
- token: `${error.token.tokenType.name} (${truncate(
36
- error.token.image,
37
- {
38
- length: 20,
39
- }
40
- )})`,
41
- });
42
- });
43
- }
44
- });
45
-
46
- if (errors.length > 0) {
47
- console.table(errors);
48
- }
49
-
50
- expect(errors).to.be.empty;
51
- });
52
- });
@@ -1,4 +0,0 @@
1
- api_group Reservations {
2
- canonical = "kNryk0Kj"
3
- history = "inherit"
4
- }
@@ -1,3 +0,0 @@
1
- api_group some_api {
2
- canonical = "lks2FaA6"
3
- }
@@ -1,7 +0,0 @@
1
- // "Some description"
2
- api_group "another api" {
3
- active = false
4
- canonical = "HZ4jLtdc"
5
- swagger = { active: false }
6
- tags = ["foo", "bar"]
7
- }
@@ -1,7 +0,0 @@
1
- // "Some description"
2
- api_group "another api" {
3
- active = false
4
- canonical = "HZ4jLtdc"
5
- swagger = { token: "kmscvn2in23cj203c" }
6
- tags = ["foo", "bar"]
7
- }
@@ -1,52 +0,0 @@
1
- import { expect } from "chai";
2
- import { readdirSync, readFileSync } from "fs";
3
- import { truncate } from "lodash-es";
4
- import { describe, it } from "mocha";
5
- import { dirname, join } from "path";
6
- import { xanoscriptParser } from "../../parser.js";
7
-
8
- describe("Xanoscript Function Parser", () => {
9
- it("parses all the valid sources", () => {
10
- const errors = [];
11
- const files = readdirSync(
12
- join(dirname("./"), "parser/tests/function/valid_sources"),
13
- );
14
- files.forEach((file) => {
15
- const source = readFileSync(
16
- join(dirname("./"), "parser/tests/function/valid_sources", file),
17
- "utf8",
18
- );
19
- const parser = xanoscriptParser(source);
20
-
21
- if (parser.errors.length > 0) {
22
- parser.errors.forEach((error) => {
23
- errors.push({
24
- previous: error.previousToken
25
- ? `${error.previousToken.tokenType.name} (${truncate(
26
- error.previousToken.image,
27
- {
28
- length: 20,
29
- },
30
- )})`
31
- : "N/A",
32
- file: `parser/tests/function/valid_sources/${file}:${error.token.startLine}:${error.token.startColumn}`,
33
- stack: parser.sectionStack[parser.sectionStack.length - 1],
34
- message: truncate(error.message, { length: 50 }),
35
- token: `${error.token.tokenType.name} (${truncate(
36
- error.token.image,
37
- {
38
- length: 20,
39
- },
40
- )})`,
41
- });
42
- });
43
- }
44
- });
45
-
46
- if (errors.length > 0) {
47
- console.table(errors);
48
- }
49
-
50
- expect(errors).to.be.empty;
51
- });
52
- });
@@ -1,68 +0,0 @@
1
- function all_controls {
2
- input {
3
- int a?
4
- }
5
-
6
- stack {
7
- var $b {
8
- value = 12
9
- }
10
-
11
- group {
12
- stack {
13
- function.run add {
14
- input = {a: $input.a, b: $b}
15
- mock = {
16
- test1: 42
17
- test2: "hello"
18
- }
19
- } as $func1
20
-
21
- await {
22
- ids = []|push:$func1
23
- timeout = 10
24
- } as $x1
25
- }
26
- }
27
-
28
- conditional {
29
- if ($input.a == 12) {
30
- throw {
31
- name = "throw error"
32
- value = "oppsy"
33
- }
34
- }
35
-
36
- elseif ($input.a > 5)
37
- else {
38
- while (true == true) {
39
- each {
40
- switch ($input.a) {
41
- case (12) break
42
- case (24) {
43
- return {
44
- value = 0
45
- }
46
- } break
47
- }
48
- }
49
- }
50
- }
51
- }
52
-
53
- foreach ([]|push:1|push:2|push:3|push:4) {
54
- each as $item {
55
- foreach.remove
56
- continue
57
- }
58
- }
59
-
60
- for (10) {
61
- each as $index {
62
- break
63
- }
64
- }
65
- }
66
-
67
- response = $x1
68
- }
@@ -1,227 +0,0 @@
1
- function test_query {
2
- input {
3
- int page?
4
- json sort?
5
- json search?
6
- }
7
-
8
- stack {
9
- db.query comment {
10
- join = {
11
- user: {
12
- table: "user",
13
- where: $db.comment.user_id == $db.user.id
14
- }
15
- }
16
-
17
- where = $db.comment.created_at < ("now"|timestamp_add_days:-14)
18
- additional_where = $input.search
19
- sort = {"comment.created_at": "desc"}
20
- override_sort = $input.sort
21
- eval = {name: $db.user.name}
22
- return = {
23
- type : "list"
24
- distinct: "no"
25
- paging : {page: $input.page, per_page: 10, totals: true, offset: 22}
26
- }
27
-
28
- output = [
29
- "itemsReceived"
30
- "curPage"
31
- "nextPage"
32
- "prevPage"
33
- "perPage"
34
- "itemsTotal"
35
- "pageTotal"
36
- "items.id"
37
- "items.user_id"
38
- "items.created_at"
39
- "items.name"
40
- ]
41
-
42
- addon = [
43
- {name: "post", input: {post_id: $output.post_id}, as: "items.items.items.post"}
44
- ]
45
- } as $return_list
46
-
47
- db.bulk.delete comment {
48
- where = $db.comment.created_at < ("now"|timestamp_add_days: -30)
49
- } as $bulk_delete_old_comments
50
-
51
- db.query comment {
52
- join = {
53
- user: {table: "user", where: $db.comment.user_id == $db.user.id}
54
- }
55
-
56
- where = $db.comment.created_at < ("now"|timestamp_add_days: -14)
57
- additional_where = $input.search
58
- override_sort = $input.sort
59
- eval = {name: $db.user.name}
60
- return = {type: "exists"}
61
- output = [
62
- "itemsReceived"
63
- "curPage"
64
- "nextPage"
65
- "prevPage"
66
- "perPage"
67
- "itemsTotal"
68
- "pageTotal"
69
- "items.id"
70
- "items.user_id"
71
- "items.content"
72
- "items.created_at"
73
- "items.name"
74
- ]
75
-
76
- addon = [
77
- {
78
- name: "post"
79
- input: {post_id: $output.post_id}
80
- as: "items.items.items.post"
81
- }
82
- ]
83
- } as $return_list
84
-
85
- db.query comment {
86
- join = {
87
- user: {table: "user", where: $db.comment.user_id == $db.user.id}
88
- }
89
-
90
- where = $db.comment.created_at < ("now"|timestamp_add_days: -14)
91
- additional_where = $input.search
92
- override_sort = $input.sort
93
- eval = {name: $db.user.name}
94
- return = {type: "count"}
95
-
96
- mock = {
97
- test_1: 33
98
- test_2: 11
99
- }
100
-
101
- output = [
102
- "itemsReceived"
103
- "curPage"
104
- "nextPage"
105
- "prevPage"
106
- "perPage"
107
- "itemsTotal"
108
- "pageTotal"
109
- "items.id"
110
- "items.user_id"
111
- "items.content"
112
- "items.created_at"
113
- "items.name"
114
- ]
115
-
116
- addon = [
117
- {name: "post", input: {post_id: $output.post_id}, as: "items.items.items.post"}
118
- ]
119
- } as $return_count
120
-
121
- db.query comment {
122
- join = {
123
- user: {table: "user", where: $db.comment.user_id == $db.user.id}
124
- }
125
-
126
- where = $db.comment.created_at < ("now"|timestamp_add_days:-14)
127
- additional_where = $input.search
128
- sort = {comment.post_id: "asc"}
129
- override_sort = $input.sort
130
- eval = {name: $db.user.name}
131
- return = {type: "single"}
132
- output = [
133
- "itemsReceived"
134
- "curPage"
135
- "nextPage"
136
- "prevPage"
137
- "perPage"
138
- "itemsTotal"
139
- "pageTotal"
140
- "items.id"
141
- "items.user_id"
142
- "items.content"
143
- "items.created_at"
144
- "items.name"
145
- ]
146
-
147
- addon = [
148
- {name: "post", input: {post_id: $output.post_id}, as: "items.items.items.post"}
149
- ]
150
- } as $return_single
151
-
152
- db.query comment {
153
- join = {
154
- user: {table: "user", where: $db.comment.user_id == $db.user.id}
155
- }
156
-
157
- where = $db.comment.created_at < ("now"|timestamp_add_days:-14)
158
- additional_where = $input.search
159
- sort = {comment.user_id: "asc"}
160
- override_sort = $input.sort
161
- eval = {name: $db.user.name}
162
- return = {
163
- type : "stream"
164
- distinct: "yes"
165
- paging : {page: $input.page, per_page: 25}
166
- }
167
-
168
- output = [
169
- "itemsReceived"
170
- "curPage"
171
- "nextPage"
172
- "prevPage"
173
- "perPage"
174
- "itemsTotal"
175
- "pageTotal"
176
- "items.id"
177
- "items.user_id"
178
- "items.content"
179
- "items.created_at"
180
- "items.name"
181
- ]
182
-
183
- addon = [
184
- {name: "post", input: {post_id: $output.post_id}, as: "items.items.items.post"}
185
- ]
186
- } as $return_stream
187
-
188
- db.query comment {
189
- join = {
190
- user: {table: "user", where: $db.comment.user_id == $db.user.id}
191
- }
192
-
193
- where = $db.comment.created_at < ("now"|timestamp_add_days:-14)
194
- additional_where = $input.search
195
- sort = {count_name: "asc"}
196
- override_sort = $input.sort
197
- eval = {name: $db.user.name}
198
- return = {
199
- type : "aggregate"
200
- paging: {page: $input.page, per_page: 25}
201
- group : {comment_content1: $db.comment.content}
202
- eval : {count_name: $db.name|count}
203
- }
204
-
205
- addon = [
206
- {name: "post", input: {post_id: $output.post_id}, as: "items.items.items.post"}
207
- ]
208
- } as $return_aggregate
209
-
210
- db.query user {
211
- where = $db.user.id @> $db.user.name
212
- return = {type: "list"}
213
- addon = [
214
- {
215
- name : "post"
216
- as: "_post"
217
- input: {post_id: "post"}
218
- addon: [
219
- {name: "comment_of_post", input: {post_id: $output.id}, as: "items.items.items.comment_of_post"}
220
- ]
221
- }
222
- ]
223
- } as $user
224
- }
225
-
226
- response = $return_list
227
- }
@@ -1,45 +0,0 @@
1
- function all_storage {
2
- input {
3
- image ?image?
4
- video ?video?
5
- audio ?audio?
6
- attachment ?attachment?
7
- file ?file?
8
- }
9
-
10
- tags = ["storage"]
11
-
12
- stack {
13
- storage.create_image {
14
- value = $input.image
15
- access = "private"
16
- filename = ""
17
- } as $image
18
-
19
- storage.create_attachment {
20
- value = $input.attachment
21
- access = "public"
22
- filename = "my_file.txt"
23
- } as $x1
24
-
25
- storage.read_file_resource {
26
- value = $input.file
27
- } as $file_data_content
28
-
29
- storage.create_file_resource {
30
- filename = "my_file.txt"
31
- filedata = $file_data_content
32
- } as $file_rsrce
33
-
34
- storage.delete_file {
35
- pathname = "foo_bar.txt"
36
- }
37
-
38
- storage.sign_private_url {
39
- pathname = "foo_bar.txt"
40
- ttl = 30
41
- } as $signed_url
42
- }
43
-
44
- response = $image
45
- }
@@ -1,133 +0,0 @@
1
- function "Discord/PollSendToSlack" {
2
- input {
3
- }
4
-
5
- stack {
6
- var $channel_id {
7
- value = 1234567890123456789
8
- disabled = true
9
- description = "#test-channel"
10
- }
11
-
12
- var $channel_id {
13
- value = 9876543210987654321
14
- description = "#example-channel"
15
- }
16
-
17
- db.query discord_messages {
18
- sort = {
19
- "discord_messages.created_at": "desc"
20
- }
21
- return = {
22
- type : "single"
23
- }
24
-
25
- } as $discord_messages
26
-
27
- var $after {
28
- value = $discord_messages.message_id ?? null
29
- }
30
-
31
- debug.stop {
32
- value = $discord_messages
33
- disabled = true
34
- }
35
-
36
- api.request {
37
- url = "https://discord.com/api/v10/channels/:CHANNEL_ID/messages"|replace:":CHANNEL_ID":$channel_id
38
- method = "GET"
39
- params = {}|set:"limit":"100"|set_ifnotnull:"after":$after
40
- headers = []|push:"Authorization: Bot "~$env.discord_bot_key|push:"User-Agent: DiscordBot (your_url, 1.0.0)"
41
- } as $discord_list_messages_api
42
-
43
- var $messages {
44
- value = $discord_list_messages_api|sort:"timestamp":"itext":true
45
- }
46
-
47
- debug.stop {
48
- value = $messages
49
- disabled = true
50
- }
51
-
52
- foreach ($messages) {
53
- each as $message {
54
- var $message_id {
55
- value = $message.id
56
- }
57
-
58
- var $channel_id {
59
- value = $message.channel_id
60
- }
61
-
62
- var $ref_message_id {
63
- value = $message.referenced_message.id ?? $message.message_reference.message_id
64
- }
65
-
66
- var $author {
67
- value = $message.author
68
- }
69
-
70
- var $content {
71
- value = $message.referenced_message.content ?? $message.content
72
- }
73
-
74
- conditional {
75
- if ($content|is_empty) {
76
- function.run "Discord/GetMessageByID" {
77
- input = {
78
- message_id: $ref_message_id
79
- channel_id: $message.message_reference.channel_id
80
- }
81
- } as $discord_message
82
-
83
- debug.stop {
84
- value = $discord_message
85
- disabled = true
86
- }
87
-
88
- var $content {
89
- value = $discord_message.content
90
- }
91
- }
92
- }
93
-
94
- var $discord_url {
95
- value = ```
96
- "https://discord.com/channels/:SERVER_ID/:CHANNEL_ID/:MESSAGE_ID"
97
- |replace:":CHANNEL_ID":$channel_id
98
- |replace:":MESSAGE_ID":$message_id
99
- ```
100
- }
101
-
102
- function.run "sendSlackMessage/DiscordMessagetoSlack" {
103
- input = {
104
- content : $content
105
- username : $author.username
106
- discord_url: $discord_url
107
- }
108
- } as $slack_post
109
-
110
- db.add_or_edit discord_messages {
111
- field_name = "message_id"
112
- field_value = $message_id
113
- data = {
114
- created_at : $message.timestamp
115
- ref_message_id : $ref_message_id
116
- slack_ts : $slack_post.ts
117
- content : $content
118
- author_username: $author.username
119
- author_id : $author.id
120
- discord_url : $discord_url
121
- }
122
- } as $discord_message
123
-
124
- debug.stop {
125
- value = $discord_message
126
- disabled = true
127
- }
128
- }
129
- }
130
- }
131
-
132
- response = $discord_list_messages_api
133
- }
@@ -1,22 +0,0 @@
1
- function "expression and filter in response" {
2
- history = 100
3
-
4
- input {
5
- }
6
-
7
- stack {
8
- }
9
-
10
- response = {
11
- with_filter : `{"test": {"value": 1}}`|get:"test":null
12
- with_filter_multiline: ```
13
- {
14
- "test": {
15
- "value": 1
16
- }
17
- }
18
- ```|get:"test":null
19
- expression : {"foo": [1,2,3], "bar" : false}|get:"foo"
20
- text : "text"
21
- }
22
- }
@@ -1,55 +0,0 @@
1
- function "data/filter_by_value" {
2
- description = "Selects rows based on a specific value in a chosen column."
3
- input {
4
- json data {
5
- description = "The dataset (e.g., a list of lists or a similar tabular structure)."
6
- }
7
-
8
- int column_index {
9
- description = "The zero-based index of the column to filter on."
10
- }
11
-
12
- text filter_value {
13
- description = "The value to match within the specified column."
14
- }
15
- }
16
-
17
- stack {
18
- var $filtered_data {
19
- value = []
20
- description = "Initialize an empty array to store filtered rows."
21
- }
22
-
23
- precondition (($input.data|is_array) && (($input.data|count) > 0)) {
24
- error_type = "inputerror"
25
- error = "Invalid data input. Expected a non-empty array."
26
- description = "Validate that the data input is a non-empty array."
27
- }
28
-
29
- precondition (($input.column_index >= 0) && ($input.column_index < ($input.data|first|count))) {
30
- error_type = "inputerror"
31
- error = "Invalid column index. Index out of bounds."
32
- description = "Validate that the column index is within the bounds of the data."
33
- }
34
-
35
- foreach ($input.data) {
36
- each as $row {
37
- var $column_value {
38
- value = $row[$input.column_index]
39
- description = "Get the value from the specified column index in the current row."
40
- }
41
-
42
- conditional {
43
- if ($column_value == $input.filter_value) {
44
- var.update $filtered_data {
45
- value = $filtered_data|append:$row
46
- description = "Append the row to filtered_data if the column value matches the filter value."
47
- }
48
- }
49
- }
50
- }
51
- }
52
- }
53
-
54
- response = $filtered_data
55
- }