@xano/xanoscript-language-server 11.12.1 → 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 (339) hide show
  1. package/lexer/tokens.js +22 -3
  2. package/package.json +25 -1
  3. package/.claude/memory/feedback_no_git.md +0 -11
  4. package/.claude/settings.local.json +0 -21
  5. package/.github/copilot-instructions.md +0 -190
  6. package/.github/workflows/ci.yml +0 -31
  7. package/.husky/pre-commit +0 -1
  8. package/CLAUDE.md +0 -256
  9. package/eslint.config.js +0 -24
  10. package/lexer/comment.spec.js +0 -77
  11. package/lexer/multiline.spec.js +0 -179
  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 -77
  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/multidoc/multidoc_parser.spec.js +0 -55
  282. package/parser/tests/multidoc/valid_sources/function_stack.xs +0 -130603
  283. package/parser/tests/query/query_parser.spec.js +0 -54
  284. package/parser/tests/query/valid_sources/all_basics.xs +0 -51
  285. package/parser/tests/query/valid_sources/all_cloud.xs +0 -141
  286. package/parser/tests/query/valid_sources/all_db.xs +0 -102
  287. package/parser/tests/query/valid_sources/all_external_db.xs +0 -43
  288. package/parser/tests/query/valid_sources/all_keywords.xs +0 -65
  289. package/parser/tests/query/valid_sources/all_math.xs +0 -53
  290. package/parser/tests/query/valid_sources/all_object.xs +0 -25
  291. package/parser/tests/query/valid_sources/all_redis.xs +0 -106
  292. package/parser/tests/query/valid_sources/all_security.xs +0 -105
  293. package/parser/tests/query/valid_sources/all_stream.xs +0 -69
  294. package/parser/tests/query/valid_sources/all_text.xs +0 -54
  295. package/parser/tests/query/valid_sources/all_util.xs +0 -66
  296. package/parser/tests/query/valid_sources/all_zip.xs +0 -39
  297. package/parser/tests/query/valid_sources/arrays.xs +0 -33
  298. package/parser/tests/query/valid_sources/disabled_response.xs +0 -27
  299. package/parser/tests/query/valid_sources/multiline_lambda_GET.xs +0 -50
  300. package/parser/tests/query/valid_sources/mutliline_query.xs +0 -140
  301. package/parser/tests/query/valid_sources/patch_expression_multiline.xs +0 -27
  302. package/parser/tests/query/valid_sources/query_cache.xs +0 -34
  303. package/parser/tests/query/valid_sources/query_example.xs +0 -43
  304. package/parser/tests/query/valid_sources/query_mini.xs +0 -11
  305. package/parser/tests/query/valid_sources/query_rich_inputs.xs +0 -32
  306. package/parser/tests/query/valid_sources/simple_unit_test.xs +0 -33
  307. package/parser/tests/query/valid_sources/test_with_slashes.xs +0 -22
  308. package/parser/tests/query/valid_sources/with_unit_test.xs +0 -97
  309. package/parser/tests/table/table_parser.spec.js +0 -52
  310. package/parser/tests/table/valid_sources/account.xs +0 -31
  311. package/parser/tests/table/valid_sources/all_basic_columns.xs +0 -44
  312. package/parser/tests/table/valid_sources/basic_table.xs +0 -15
  313. package/parser/tests/table/valid_sources/empty_object.xs +0 -17
  314. package/parser/tests/table/valid_sources/empty_table.xs +0 -3
  315. package/parser/tests/table/valid_sources/multiline_index.xs +0 -33
  316. package/parser/tests/table/valid_sources/relation.xs +0 -44
  317. package/parser/tests/table/valid_sources/rich_columns.xs +0 -31
  318. package/parser/tests/table/valid_sources/table_with_comments.xs +0 -17
  319. package/parser/tests/table/valid_sources/table_with_search_index.xs +0 -31
  320. package/parser/tests/table/valid_sources/view_table.xs +0 -62
  321. package/parser/tests/task/task_parser.spec.js +0 -53
  322. package/parser/tests/task/valid_sources/active_event.xs +0 -11
  323. package/parser/tests/task/valid_sources/all_events.xs +0 -17
  324. package/parser/tests/task/valid_sources/create_leak.xs +0 -165
  325. package/parser/tests/task/valid_sources/daily_sales_report.xs +0 -56
  326. package/parser/tests/task/valid_sources/inactive_event.xs +0 -11
  327. package/parser/tests/variable_test/coverage_check.xs +0 -293
  328. package/parser/tests/workflow_test/valid_sources/basic_workflow_test.xs +0 -13
  329. package/parser/tests/workflow_test/workflow_test_parser.spec.js +0 -52
  330. package/parser/tool_parser.spec.js +0 -115
  331. package/parser/variableValidator.spec.js +0 -179
  332. package/parser/workflow_test_parser.spec.js +0 -136
  333. package/parser/workspace_parser.spec.js +0 -142
  334. package/parser/workspace_trigger_parser.spec.js +0 -332
  335. package/toTmLanguage.js +0 -75
  336. package/utils.spec.js +0 -369
  337. package/workspace/crossFileValidator.spec.js +0 -654
  338. package/workspace/referenceTracking.spec.js +0 -420
  339. package/workspace/workspaceIndex.spec.js +0 -189
@@ -1,82 +0,0 @@
1
- function queries {
2
- input {
3
- }
4
-
5
- stack {
6
- db.query invoices {
7
- where = $db.clients.name == $db.invoices.total_amount || $db.invoices contains $db.clients.name && ($db.invoices.items != $db.clients.name || $db.invoices.client_id > $db.invoices.id || $db.clients.is_active not in $db.invoices.id || $db.invoices.id in $db.invoices.id || $env.$request_method contains "something" || $db.clients.name includes $db.clients.id || ($db.invoices.total_amount|add:55) not contains $db.clients.name && $db.invoices.items overlaps $db.invoices.id || $db.invoices.items not overlaps $db.invoices.items)
8
- join = {
9
- clients: {
10
- type : "right"
11
- table : "clients"
12
- where: $db.invoices.client_id == $db.clients.id
13
- }
14
- }
15
-
16
- return = {
17
- type : "list"
18
- paging: {
19
- page : 1
20
- per_page: 25
21
- totals : false
22
- offset : 0
23
- metadata: true
24
- }
25
- }
26
- } as $invoices1
27
-
28
- db.query books {
29
- join = {
30
- user: {
31
- table: "user"
32
- where: $db.books.id == $db.user.id
33
- }
34
- }
35
-
36
- return = {
37
- type : "stream"
38
- distinct: "yes"
39
- paging : {page: 1, per_page: 25}
40
- }
41
-
42
- sort = { "books.title": "asc"}
43
-
44
- } as $books1
45
-
46
- db.query book_club_meeting {
47
- return = {
48
- type: "exists"
49
- }
50
- } as $book_club_meeting1
51
-
52
- db.query book_club_meeting {
53
- description = "Some description"
54
- return = {
55
- type: "count"
56
- }
57
- } as $book_club_meeting2
58
-
59
- db.query book_club_meeting {
60
- disabled = true
61
- sort = {"book_club_meeting.id": "asc"}
62
- return = {
63
- type :"single"
64
- }
65
- } as $book_club_meeting2
66
-
67
- db.query book_club_meeting {
68
- sort = {
69
- "book_club_meeting_book_id": "asc"
70
- }
71
- return = {
72
- type : "aggregate"
73
- group : {"book_club_meeting.book_id": "book_club_meeting.book_id"}
74
- eval : {
75
- "book_club_meeting.book_id": $db.book_club_meeting_book_id|min
76
- }
77
- }
78
- } as $book_club_meeting2
79
- }
80
-
81
- response = $books1
82
- }
@@ -1,13 +0,0 @@
1
- function "bug regex xs" {
2
- input {
3
- text youtube_url? filters=trim
4
- }
5
-
6
- stack {
7
- var $youtube_id {
8
- value = ("/^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$/"|regex_get_all_matches:$input.youtube_url)[5]|first
9
- }
10
- }
11
-
12
- response = $youtube_id
13
- }
@@ -1,90 +0,0 @@
1
- function "ledash/ends_with" {
2
- description = """
3
- Checks if `string` (or `array`) ends with the given `target` string (or `array`).
4
-
5
- ## Example
6
-
7
- ```
8
- {
9
- "text": "some string",
10
- "target": "ing"
11
- }
12
- ```
13
-
14
- returns
15
- ```
16
- true
17
- ```
18
- """
19
-
20
- input {
21
- json text?
22
- json target?
23
- int position?=-1
24
- }
25
-
26
- stack {
27
- var $text {
28
- description = "Working copy of the input text for processing"
29
- value = $input.text
30
- }
31
-
32
- var $target {
33
- description = "Working copy of the target value for processing"
34
- value = $input.target
35
- }
36
-
37
- conditional {
38
- description = "Convert any string into an array of characters"
39
-
40
- if (($input.text|is_text) === true) {
41
- var.update $text {
42
- value = $text|split:""
43
- }
44
- }
45
- }
46
-
47
- conditional {
48
- description = "Convert any string into an array of characters"
49
-
50
- if (($target|is_text) === true) {
51
- var.update $target {
52
- value = $target|split:""
53
- }
54
- }
55
- }
56
-
57
- conditional {
58
- description = "If we still have a single value, make it an array with a single element"
59
-
60
- if (($target|is_array) !== true) {
61
- var.update $target {
62
- value = []|push:$target
63
- }
64
- }
65
- }
66
-
67
- var $position {
68
- description = "Calculate the final position to check based on input or text length"
69
- value = $input.position > -1 ? $input.position : ($text|count)
70
- }
71
-
72
- for ($target|count) {
73
- description = "Now we should only have arrays in target and text variables"
74
-
75
- each as $index {
76
- conditional {
77
- description = "compare every element using position as an offset on the string"
78
-
79
- if (($text|get:$position - $index - 1:null) !== ($target|get:($target|count) - $index - 1:null)) {
80
- return {
81
- value = false
82
- }
83
- }
84
- }
85
- }
86
- }
87
- }
88
-
89
- response = true
90
- }
@@ -1,28 +0,0 @@
1
- function multiline_description {
2
- description = """
3
- This function has a description that spans multiple lines.
4
- It is used to demonstrate how multiline comments are handled in the parser.
5
- The description should be clear and concise, even when spread across several lines.
6
- """
7
- input {
8
- text value {
9
- description = "sing line description"
10
- }
11
-
12
- int number {
13
- description = """
14
- This is a multiline description for the number input.
15
- It can include details about the expected range, format, or any other relevant information.
16
- For example, this number should be a positive integer.
17
- It can also include examples or usage notes.
18
- Make sure to keep it informative and easy to understand.
19
- """
20
- }
21
- }
22
-
23
- stack {
24
-
25
- }
26
-
27
- response = "This function is valid and has a multiline description."
28
- }
@@ -1,41 +0,0 @@
1
- function multiline {
2
- input {
3
- int score?
4
- }
5
-
6
- stack {
7
- conditional {
8
- if (
9
- (```
10
- $input.score
11
- |is_empty
12
- |is_empty
13
- |is_empty
14
- |is_empty
15
- |is_empty
16
- |is_empty
17
- |is_empty
18
- |is_empty
19
- |is_empty
20
- ```) == (```
21
- $input.score
22
- |is_empty
23
- |is_empty
24
- |is_empty
25
- |is_empty
26
- |is_empty
27
- |is_empty
28
- |is_empty
29
- |is_empty
30
- |is_empty
31
- ```)
32
- ) {
33
- var $x1 {
34
- value = 123
35
- }
36
- }
37
- }
38
- }
39
-
40
- response = $x1
41
- }
@@ -1,129 +0,0 @@
1
- function array_functions {
2
- input {
3
- }
4
-
5
- stack {
6
- var $json {
7
- value = [
8
- {
9
- "_id": "6900e859251a9c0bf81feef8",
10
- "index": 0,
11
- "isActive": false,
12
- "age": 24,
13
- "name": "Aguilar Whitehead",
14
- "gender": "male"
15
- },
16
- {
17
- "_id": "6900e859fce05fec39869537",
18
- "index": 1,
19
- "isActive": true,
20
- "age": 24,
21
- "name": "Kay Higgins",
22
- "gender": "female"
23
- },
24
- {
25
- "_id": "6900e8596bac5247d793238f",
26
- "index": 2,
27
- "isActive": true,
28
- "age": 25,
29
- "name": "Leigh Frederick",
30
- "gender": "female"
31
- },
32
- {
33
- "_id": "6900e859f3a896081f4520a8",
34
- "index": 3,
35
- "isActive": false,
36
- "age": 21,
37
- "name": "Krystal Colon",
38
- "gender": "female"
39
- },
40
- {
41
- "_id": "6900e859023839f86f579d73",
42
- "index": 4,
43
- "isActive": false,
44
- "age": 22,
45
- "name": "Daniels Workman",
46
- "gender": "male"
47
- },
48
- {
49
- "_id": "6900e859756c6b3e882c9244",
50
- "index": 5,
51
- "isActive": true,
52
- "age": 33,
53
- "name": "Mccormick Perkins",
54
- "gender": "male"
55
- },
56
- {
57
- "_id": "6900e8596bc2768908f0bf30",
58
- "index": 6,
59
- "isActive": true,
60
- "age": 23,
61
- "name": "Dixie Cabrera",
62
- "gender": "female"
63
- },
64
- {
65
- "_id": "6900e859aa0822a778b99f69",
66
- "index": 7,
67
- "isActive": true,
68
- "age": 23,
69
- "name": "Battle James",
70
- "gender": "male"
71
- },
72
- {
73
- "_id": "6900e859e5098eb59309df64",
74
- "index": 8,
75
- "isActive": true,
76
- "age": 26,
77
- "name": "Petty Armstrong",
78
- "gender": "male"
79
- },
80
- {
81
- "_id": "6900e859f2b37bedb90cb73f",
82
- "index": 9,
83
- "isActive": false,
84
- "age": 35,
85
- "name": "Parsons Lloyd",
86
- "gender": "male"
87
- }
88
- ]
89
- }
90
-
91
- array.map ($json) {
92
- by = $this.email
93
- } as $emails
94
-
95
- array.map ($json) {
96
- by = {name: $this.name, gender: $this.gender}
97
- } as $people
98
-
99
- array.partition ($json) if ($this.gender == "male") as $is_male
100
- array.group_by ($json) {
101
- by = $this.isActive
102
- } as $is_active
103
-
104
- array.difference ([1,2,3,4,5,6,7,8,9]) {
105
- value = [2,4,6,8]
106
- by = $this
107
- } as $difference
108
-
109
- array.intersection ([1,2,3,4,5,6,7,8,9]) {
110
- value = [2,4,6,8]
111
- by = $this
112
- } as $intersection
113
-
114
- array.union ([1,3,5,7,9]) {
115
- value = [2,4,6,8]
116
- by = $this
117
- } as $union
118
- }
119
-
120
- response = {
121
- emails : $emails
122
- people : $people
123
- is_male : $is_male
124
- is_active : $is_active
125
- difference : $difference
126
- intersection: $intersection
127
- union : $union
128
- }
129
- }
@@ -1,33 +0,0 @@
1
- function test_expect {
2
- input {
3
- int a
4
- int b
5
- }
6
-
7
- stack {
8
- var $sum {
9
- value = $input.a
10
- }
11
- math.add $sum {
12
- value = $input.b
13
- }
14
- }
15
-
16
- response = $sum
17
-
18
- test "should add two numbers" {
19
- input = {a: 20, b: 22}
20
-
21
- expect.to_equal ($response) {
22
- value = 42
23
- }
24
- }
25
-
26
- test "another test with input" {
27
- input = {a: 20, b: 22}
28
-
29
- expect.to_be_greater_than ($response) {
30
- value = 40
31
- }
32
- }
33
- }
@@ -1,57 +0,0 @@
1
- function "Starfleet/RankCheck" {
2
- description = "Determines if a user's Starfleet rank is sufficient for a specific mission."
3
- input {
4
- text userRank {
5
- description = "The Starfleet rank of the user (e.g., 'Ensign', 'Lieutenant Commander', 'Captain')."
6
- }
7
-
8
- text requiredRank {
9
- description = "The minimum rank needed for the mission (e.g., 'Lieutenant', 'Commander')."
10
- }
11
- }
12
-
13
- stack {
14
- var $rank_order {
15
- value = {
16
- "ensign": 1,
17
- "lieutenant junior grade": 2,
18
- "lieutenant": 3,
19
- "lieutenant commander": 4,
20
- "commander": 5,
21
- "captain": 6,
22
- "commodore": 7,
23
- "rear admiral": 8,
24
- "vice admiral": 9,
25
- "admiral": 10
26
- }
27
- description = "Defines a numerical order for Starfleet ranks."
28
- }
29
-
30
- var $user_rank_lower {
31
- value = $input.userRank|to_lower
32
- description = "Convert user's rank to lowercase for comparison."
33
- }
34
-
35
- var $required_rank_lower {
36
- value = $input.requiredRank|to_lower
37
- description = "Convert required rank to lowercase for comparison."
38
- }
39
-
40
- var $user_rank_value {
41
- value = $rank_order[$user_rank_lower] ?? 0
42
- description = "Get the numerical rank value for the user, defaulting to 0 if rank is not found."
43
- }
44
-
45
- var $required_rank_value {
46
- value = $rank_order[$required_rank_lower] ?? 0
47
- description = "Get the numerical rank value for the required rank, defaulting to 0 if rank is not found."
48
- }
49
-
50
- var $is_sufficient {
51
- value = $user_rank_value >= $required_rank_value
52
- description = "Compare numerical ranks to determine sufficiency."
53
- }
54
- }
55
-
56
- response = $is_sufficient
57
- }
@@ -1,18 +0,0 @@
1
- function array_functions {
2
- input {
3
- // what is this argument about?
4
- text some_argument? filters=trim
5
- }
6
-
7
- stack {
8
- webflow.request {
9
- path = $input.some_argument
10
- method = "PUT"
11
- params = {}|set:"test":"testtest"
12
- timeout = 14
13
- follow_location = false
14
- } as $api1
15
- }
16
-
17
- response = $api1
18
- }
@@ -1,55 +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 { multidocParser } from "../../multidoc.js";
7
-
8
- describe("Xanoscript multidoc Parser", () => {
9
- it("parses all the valid sources", () => {
10
- const errors = [];
11
- const files = readdirSync(
12
- join(dirname("./"), "parser/tests/multidoc/valid_sources"),
13
- );
14
-
15
- files.forEach((file) => {
16
- const source = readFileSync(
17
- join(dirname("./"), "parser/tests/multidoc/valid_sources", file),
18
- "utf8",
19
- );
20
- const parser = multidocParser(source);
21
-
22
- if (parser.errors.length > 0) {
23
- parser.errors.forEach((error) => {
24
- errors.push({
25
- previous: error.previousToken
26
- ? `${error.previousToken.tokenTypeName} (${truncate(
27
- error.previousToken.image,
28
- {
29
- length: 20,
30
- },
31
- )})`
32
- : "N/A",
33
- file: error.token
34
- ? `parser/tests/multidoc/valid_sources/${file}:${error.token.startLine}:${error.token.startColumn}`
35
- : `parser/tests/multidoc/valid_sources/${file}`,
36
- stack:
37
- parser.sectionStack?.[parser.sectionStack.length - 1] ?? "N/A",
38
- message: truncate(error.message, { length: 50 }),
39
- token: error.token
40
- ? `${error.token.tokenTypeName} (${truncate(error.token.image, {
41
- length: 20,
42
- })})`
43
- : "N/A",
44
- });
45
- });
46
- }
47
- });
48
-
49
- if (errors.length > 0) {
50
- console.table(errors);
51
- }
52
-
53
- expect(errors).to.be.empty;
54
- });
55
- });