@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
package/utils.spec.js DELETED
@@ -1,369 +0,0 @@
1
- import { expect } from "chai";
2
- import { describe, it } from "mocha";
3
- import {
4
- getObjectInfoFromContent,
5
- getSchemeFromContent,
6
- Iterator,
7
- } from "./utils.js";
8
-
9
- describe("getSchemeFromContent", () => {
10
- describe("basic keyword detection", () => {
11
- it("should return 'addon' for addon content", () => {
12
- const content = "addon my_addon {}";
13
- expect(getSchemeFromContent(content)).to.equal("addon");
14
- });
15
-
16
- it("should return 'agent' for agent content", () => {
17
- const content = "agent my_agent {}";
18
- expect(getSchemeFromContent(content)).to.equal("agent");
19
- });
20
-
21
- it("should return 'agent_trigger' for agent_trigger content", () => {
22
- const content = "agent_trigger my_trigger {}";
23
- expect(getSchemeFromContent(content)).to.equal("agent_trigger");
24
- });
25
-
26
- it("should return 'api_group' for api_group content", () => {
27
- const content = "api_group auth {}";
28
- expect(getSchemeFromContent(content)).to.equal("api_group");
29
- });
30
-
31
- it("should return 'branch' for branch content", () => {
32
- const content = "branch my_branch {}";
33
- expect(getSchemeFromContent(content)).to.equal("branch");
34
- });
35
-
36
- it("should return 'cfn' for function content", () => {
37
- const content = "function calculate {}";
38
- expect(getSchemeFromContent(content)).to.equal("cfn");
39
- });
40
-
41
- it("should return 'mcp_server' for mcp_server content", () => {
42
- const content = "mcp_server my_server {}";
43
- expect(getSchemeFromContent(content)).to.equal("mcp_server");
44
- });
45
-
46
- it("should return 'mcp_server_trigger' for mcp_server_trigger content", () => {
47
- const content = "mcp_server_trigger my_trigger {}";
48
- expect(getSchemeFromContent(content)).to.equal("mcp_server_trigger");
49
- });
50
-
51
- it("should return 'middleware' for middleware content", () => {
52
- const content = "middleware auth_check {}";
53
- expect(getSchemeFromContent(content)).to.equal("middleware");
54
- });
55
-
56
- it("should return 'api' for query content", () => {
57
- const content = "query get_users verb=GET {}";
58
- expect(getSchemeFromContent(content)).to.equal("api");
59
- });
60
-
61
- it("should return 'realtime_trigger' for realtime_trigger content", () => {
62
- const content = "realtime_trigger my_trigger {}";
63
- expect(getSchemeFromContent(content)).to.equal("realtime_trigger");
64
- });
65
-
66
- it("should return 'db' for table content", () => {
67
- const content = "table users {}";
68
- expect(getSchemeFromContent(content)).to.equal("db");
69
- });
70
-
71
- it("should return 'table_trigger' for table_trigger content", () => {
72
- const content = "table_trigger my_trigger {}";
73
- expect(getSchemeFromContent(content)).to.equal("table_trigger");
74
- });
75
-
76
- it("should return 'task' for task content", () => {
77
- const content = "task cleanup {}";
78
- expect(getSchemeFromContent(content)).to.equal("task");
79
- });
80
-
81
- it("should return 'tool' for tool content", () => {
82
- const content = "tool my_tool {}";
83
- expect(getSchemeFromContent(content)).to.equal("tool");
84
- });
85
-
86
- it("should return 'workflow_test' for workflow_test content", () => {
87
- const content = "workflow_test my_test {}";
88
- expect(getSchemeFromContent(content)).to.equal("workflow_test");
89
- });
90
-
91
- it("should return 'workspace' for workspace content", () => {
92
- const content = "workspace my_workspace {}";
93
- expect(getSchemeFromContent(content)).to.equal("workspace");
94
- });
95
-
96
- it("should return 'workspace_trigger' for workspace_trigger content", () => {
97
- const content = "workspace_trigger my_trigger {}";
98
- expect(getSchemeFromContent(content)).to.equal("workspace_trigger");
99
- });
100
- });
101
-
102
- describe("whitespace handling", () => {
103
- it("should handle leading spaces", () => {
104
- const content = " table users {}";
105
- expect(getSchemeFromContent(content)).to.equal("db");
106
- });
107
-
108
- it("should handle leading tabs", () => {
109
- const content = "\t\ttable users {}";
110
- expect(getSchemeFromContent(content)).to.equal("db");
111
- });
112
-
113
- it("should handle leading newlines", () => {
114
- const content = "\n\n\ntable users {}";
115
- expect(getSchemeFromContent(content)).to.equal("db");
116
- });
117
-
118
- it("should handle mixed leading whitespace", () => {
119
- const content = "\n \t\n\t function calculate {}";
120
- expect(getSchemeFromContent(content)).to.equal("cfn");
121
- });
122
- });
123
-
124
- describe("comment handling", () => {
125
- it("should skip single line comment before keyword", () => {
126
- const content = "// This is a table\ntable users {}";
127
- expect(getSchemeFromContent(content)).to.equal("db");
128
- });
129
-
130
- it("should skip multiple line comments before keyword", () => {
131
- const content =
132
- "// Comment 1\n// Comment 2\n// Comment 3\ntable users {}";
133
- expect(getSchemeFromContent(content)).to.equal("db");
134
- });
135
-
136
- it("should handle comments with whitespace", () => {
137
- const content = " // Comment\n table users {}";
138
- expect(getSchemeFromContent(content)).to.equal("db");
139
- });
140
-
141
- it("should handle mixed comments and whitespace", () => {
142
- const content =
143
- "\n// Comment 1\n\n// Comment 2\n \nfunction calculate {}";
144
- expect(getSchemeFromContent(content)).to.equal("cfn");
145
- });
146
- });
147
-
148
- describe("default behavior", () => {
149
- it("should return 'cfn' for unknown keyword", () => {
150
- const content = "unknown_keyword something {}";
151
- expect(getSchemeFromContent(content)).to.equal("cfn");
152
- });
153
-
154
- it("should return 'cfn' for empty content", () => {
155
- const content = "";
156
- expect(getSchemeFromContent(content)).to.equal("cfn");
157
- });
158
-
159
- it("should return 'cfn' for whitespace-only content", () => {
160
- const content = " \n\t\n ";
161
- expect(getSchemeFromContent(content)).to.equal("cfn");
162
- });
163
-
164
- it("should return 'cfn' for comments-only content", () => {
165
- const content = "// Just a comment\n// Another comment";
166
- expect(getSchemeFromContent(content)).to.equal("cfn");
167
- });
168
- });
169
-
170
- describe("real-world examples", () => {
171
- it("should handle complete table definition", () => {
172
- const content = `table users {
173
- schema {
174
- int id
175
- text name?
176
- email email_address?
177
- }
178
- }`;
179
- expect(getSchemeFromContent(content)).to.equal("db");
180
- });
181
-
182
- it("should handle complete function definition", () => {
183
- const content = `function calculate {
184
- input {
185
- int value1?
186
- int value2?
187
- }
188
- stack {
189
- }
190
- response {
191
- }
192
- }`;
193
- expect(getSchemeFromContent(content)).to.equal("cfn");
194
- });
195
-
196
- it("should handle query with verb and parameters", () => {
197
- const content = `query get_user verb=GET path=/user/{id} {
198
- input {
199
- int id
200
- }
201
- stack {
202
- }
203
- }`;
204
- expect(getSchemeFromContent(content)).to.equal("api");
205
- });
206
-
207
- it("should handle content with header comment", () => {
208
- const content = `// Auto-generated by Xano
209
- // Do not modify manually
210
-
211
- table products {
212
- schema {
213
- int id
214
- text name
215
- }
216
- }`;
217
- expect(getSchemeFromContent(content)).to.equal("db");
218
- });
219
-
220
- it("should handle task definition", () => {
221
- const content = `task cleanup interval=daily {
222
- stack {
223
- }
224
- }`;
225
- expect(getSchemeFromContent(content)).to.equal("task");
226
- });
227
-
228
- it("should handle tool definition", () => {
229
- const content = `tool my_custom_tool {
230
- input {
231
- text query?
232
- }
233
- stack {
234
- }
235
- }`;
236
- expect(getSchemeFromContent(content)).to.equal("tool");
237
- });
238
-
239
- it("should handle api_group definition", () => {
240
- const content = `api_group authentication {
241
- auth = false
242
- middleware = []
243
- }`;
244
- expect(getSchemeFromContent(content)).to.equal("api_group");
245
- });
246
- });
247
- });
248
-
249
- describe("getObjectInfoFromContent", () => {
250
- it("should extract function with identifier name", () => {
251
- const result = getObjectInfoFromContent(
252
- "function my_func {\n stack {\n }\n}"
253
- );
254
- expect(result).to.deep.equal({ type: "function", name: "my_func" });
255
- });
256
-
257
- it("should extract function with string literal name", () => {
258
- const result = getObjectInfoFromContent('function "my func" {\n}');
259
- expect(result).to.deep.equal({ type: "function", name: "my func" });
260
- });
261
-
262
- it("should extract table", () => {
263
- const result = getObjectInfoFromContent(
264
- "table users {\n schema {\n }\n}"
265
- );
266
- expect(result).to.deep.equal({ type: "table", name: "users" });
267
- });
268
-
269
- it("should extract query with verb", () => {
270
- const result = getObjectInfoFromContent('query "/users" GET {\n}');
271
- expect(result).to.deep.equal({ type: "query", name: "/users" });
272
- });
273
-
274
- it("should extract task", () => {
275
- const result = getObjectInfoFromContent('task "daily_cleanup" {\n}');
276
- expect(result).to.deep.equal({ type: "task", name: "daily_cleanup" });
277
- });
278
-
279
- it("should extract api_group", () => {
280
- const result = getObjectInfoFromContent('api_group "users" {\n}');
281
- expect(result).to.deep.equal({ type: "api_group", name: "users" });
282
- });
283
-
284
- it("should handle leading comments", () => {
285
- const result = getObjectInfoFromContent(
286
- "// my function\nfunction my_func {\n}"
287
- );
288
- expect(result).to.deep.equal({ type: "function", name: "my_func" });
289
- });
290
-
291
- it("should handle leading whitespace and multiple comments", () => {
292
- const result = getObjectInfoFromContent(
293
- "\n// comment 1\n// comment 2\ntable users {\n}"
294
- );
295
- expect(result).to.deep.equal({ type: "table", name: "users" });
296
- });
297
-
298
- it("should return null for empty content", () => {
299
- expect(getObjectInfoFromContent("")).to.be.null;
300
- });
301
-
302
- it("should return null for content with no name token", () => {
303
- expect(getObjectInfoFromContent("function")).to.be.null;
304
- });
305
-
306
- it("should extract workflow_test", () => {
307
- const result = getObjectInfoFromContent(
308
- 'workflow_test "login flow" {\n}'
309
- );
310
- expect(result).to.deep.equal({
311
- type: "workflow_test",
312
- name: "login flow",
313
- });
314
- });
315
-
316
- it("should extract table_trigger", () => {
317
- const result = getObjectInfoFromContent(
318
- 'table_trigger "on_user_create" {\n}'
319
- );
320
- expect(result).to.deep.equal({
321
- type: "table_trigger",
322
- name: "on_user_create",
323
- });
324
- });
325
-
326
- it("should extract middleware", () => {
327
- const result = getObjectInfoFromContent('middleware "auth_check" {\n}');
328
- expect(result).to.deep.equal({ type: "middleware", name: "auth_check" });
329
- });
330
-
331
- it("should extract addon", () => {
332
- const result = getObjectInfoFromContent('addon "my_addon" {\n}');
333
- expect(result).to.deep.equal({ type: "addon", name: "my_addon" });
334
- });
335
- });
336
-
337
- describe("Iterator", () => {
338
- describe("basic functionality", () => {
339
- it("should iterate through items", () => {
340
- const iter = new Iterator([1, 2, 3]);
341
- expect(iter.next()).to.equal(1);
342
- expect(iter.next()).to.equal(2);
343
- expect(iter.next()).to.equal(3);
344
- });
345
-
346
- it("should check if has next", () => {
347
- const iter = new Iterator([1, 2]);
348
- expect(iter.hasNext()).to.be.true;
349
- iter.next();
350
- expect(iter.hasNext()).to.be.true;
351
- iter.next();
352
- expect(iter.hasNext()).to.be.false;
353
- });
354
-
355
- it("should reset iterator", () => {
356
- const iter = new Iterator([1, 2, 3]);
357
- iter.next();
358
- iter.next();
359
- iter.reset();
360
- expect(iter.next()).to.equal(1);
361
- });
362
-
363
- it("should handle empty array", () => {
364
- const iter = new Iterator([]);
365
- expect(iter.hasNext()).to.be.false;
366
- expect(iter.next()).to.be.undefined;
367
- });
368
- });
369
- });