@xano/xanoscript-language-server 11.12.2 → 12.0.0

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 (338) hide show
  1. package/onCheckError/onCheckError.js +35 -28
  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/regexp.spec.js +0 -84
  13. package/lexer/tests/query/query_lexer.spec.js +0 -36
  14. package/lexer/tests/query/valid_sources/basic_query.xs +0 -44
  15. package/lexer/tests/query/valid_sources/db_query.xs +0 -77
  16. package/lexer/tests/query/valid_sources/empty_query.xs +0 -5
  17. package/lexer/tests/query/valid_sources/header_query.xs +0 -15
  18. package/lexer/tests/table/basic_table.xs +0 -17
  19. package/lexer/tests/table/empty_table.xs +0 -3
  20. package/lexer/tests/table/table_lexer.spec.js +0 -324
  21. package/lexer/utils.spec.js +0 -61
  22. package/onCompletion/contentAssist.spec.js +0 -275
  23. package/onDefinition/onDefinition.spec.js +0 -313
  24. package/onHover/FilterMessageProvider.spec.js +0 -85
  25. package/onHover/FunctionMessageProvider.spec.js +0 -128
  26. package/onHover/InputFilterMessageProvider.spec.js +0 -329
  27. package/onHover/QueryFilterMessageProvider.spec.js +0 -164
  28. package/onHover/onHoverDocument.spec.js +0 -660
  29. package/parser/addon_parser.spec.js +0 -88
  30. package/parser/agent_parser.spec.js +0 -599
  31. package/parser/agent_trigger_parser.spec.js +0 -525
  32. package/parser/api_group_parser.spec.js +0 -137
  33. package/parser/attributes/columnDefaultValueAttribute.spec.js +0 -49
  34. package/parser/attributes/descriptionFieldAttribute.spec.js +0 -39
  35. package/parser/attributes/disabledFieldAttribute.spec.js +0 -34
  36. package/parser/attributes/docsFieldAttribute.spec.js +0 -44
  37. package/parser/attributes/guidFieldAttribute.spec.js +0 -93
  38. package/parser/attributes/inputFilterFn.spec.js +0 -39
  39. package/parser/attributes/sensitiveFieldAttribute.spec.js +0 -39
  40. package/parser/attributes/valueFieldAttribute.spec.js +0 -54
  41. package/parser/attributes/valuesFieldAttribute.spec.js +0 -44
  42. package/parser/attributes/visibilityFieldAttribute.spec.js +0 -44
  43. package/parser/branch_parser.spec.js +0 -34
  44. package/parser/clauses/agentClause.spec.js +0 -34
  45. package/parser/clauses/authClause.spec.js +0 -39
  46. package/parser/clauses/cacheClause.spec.js +0 -103
  47. package/parser/clauses/canonicalClause.spec.js +0 -34
  48. package/parser/clauses/channelClause.spec.js +0 -34
  49. package/parser/clauses/dbTableClause.spec.js +0 -34
  50. package/parser/clauses/historyClause.spec.js +0 -53
  51. package/parser/clauses/indexClause.spec.js +0 -47
  52. package/parser/clauses/inputClause.spec.js +0 -96
  53. package/parser/clauses/mcpServerClause.spec.js +0 -34
  54. package/parser/clauses/middlewareClause.spec.js +0 -161
  55. package/parser/clauses/nakedStackFn.spec.js +0 -73
  56. package/parser/clauses/responseClause.spec.js +0 -47
  57. package/parser/clauses/scheduleClause.spec.js +0 -71
  58. package/parser/clauses/schemaClause.spec.js +0 -102
  59. package/parser/clauses/testClause.spec.js +0 -69
  60. package/parser/clauses/viewClause.spec.js +0 -163
  61. package/parser/definitions/arraySlice.spec.js +0 -49
  62. package/parser/definitions/columnDefinition.spec.js +0 -199
  63. package/parser/definitions/dbLinkColumnDefinition.spec.js +0 -45
  64. package/parser/definitions/enumColumnDefinition.spec.js +0 -108
  65. package/parser/definitions/filterDefinition.spec.js +0 -43
  66. package/parser/definitions/objectColumnDefinition.spec.js +0 -118
  67. package/parser/function_parser.spec.js +0 -131
  68. package/parser/functions/actionCallFn.spec.js +0 -51
  69. package/parser/functions/addonCallFn.spec.js +0 -41
  70. package/parser/functions/ai/aiAgentRunFn.spec.js +0 -94
  71. package/parser/functions/ai/aiExternalMcpServerDetailsFn.spec.js +0 -85
  72. package/parser/functions/ai/aiExternalMcpToolListFn.spec.js +0 -85
  73. package/parser/functions/ai/aiExternalMcpToolRunFn.spec.js +0 -101
  74. package/parser/functions/aiFn.spec.js +0 -51
  75. package/parser/functions/api/apiCallFn.spec.js +0 -62
  76. package/parser/functions/api/apiLambdaFn.spec.js +0 -63
  77. package/parser/functions/api/apiRealtimeEventFn.spec.js +0 -82
  78. package/parser/functions/api/apiRequestFn.spec.js +0 -113
  79. package/parser/functions/api/apiStreamFn.spec.js +0 -44
  80. package/parser/functions/api/webflowRequestFn.spec.js +0 -114
  81. package/parser/functions/array/arrayDifferenceFn.spec.js +0 -34
  82. package/parser/functions/array/arrayFindFn.spec.js +0 -44
  83. package/parser/functions/array/arrayGroupByFn.spec.js +0 -41
  84. package/parser/functions/array/arrayIntersectionFn.spec.js +0 -22
  85. package/parser/functions/array/arrayMapFn.spec.js +0 -37
  86. package/parser/functions/array/arrayNoValueAs.spec.js +0 -56
  87. package/parser/functions/array/arrayPartitionFn.spec.js +0 -29
  88. package/parser/functions/array/arrayUnionFn.spec.js +0 -22
  89. package/parser/functions/array/arrayValueIfAs.spec.js +0 -54
  90. package/parser/functions/array/arrayValueOnly.spec.js +0 -61
  91. package/parser/functions/array/valueAttrOnly.spec.js +0 -61
  92. package/parser/functions/cloud/cloudAlgoliaRequestFn.spec.js +0 -30
  93. package/parser/functions/cloud/cloudAwsS3Fn.spec.js +0 -21
  94. package/parser/functions/cloud/cloudDeleteFileFn.spec.js +0 -25
  95. package/parser/functions/cloud/cloudGetFileInfoFn.spec.js +0 -25
  96. package/parser/functions/cloud/cloudListDirectoryFn.spec.js +0 -26
  97. package/parser/functions/cloud/cloudReadFileFn.spec.js +0 -25
  98. package/parser/functions/cloud/cloudSearchDocumentFn.spec.js +0 -28
  99. package/parser/functions/cloud/cloudSearchQueryFn.spec.js +0 -32
  100. package/parser/functions/cloud/cloudSearchRequestFn.spec.js +0 -32
  101. package/parser/functions/cloud/cloudSignUrlFn.spec.js +0 -26
  102. package/parser/functions/cloud/cloudStorageFn.spec.js +0 -21
  103. package/parser/functions/cloud/cloudUploadFileFn.spec.js +0 -29
  104. package/parser/functions/controls/awaitFn.spec.js +0 -48
  105. package/parser/functions/controls/conditionalFn.spec.js +0 -188
  106. package/parser/functions/controls/forEachFn.spec.js +0 -109
  107. package/parser/functions/controls/forFn.spec.js +0 -85
  108. package/parser/functions/controls/functionRunFn.spec.js +0 -87
  109. package/parser/functions/controls/groupFn.spec.js +0 -63
  110. package/parser/functions/controls/preconditionFn.spec.js +0 -107
  111. package/parser/functions/controls/returnFn.spec.js +0 -44
  112. package/parser/functions/controls/switchFn.spec.js +0 -118
  113. package/parser/functions/controls/throwFn.spec.js +0 -56
  114. package/parser/functions/controls/tryCatchFn.spec.js +0 -193
  115. package/parser/functions/controls/whileFn.spec.js +0 -94
  116. package/parser/functions/db/dbAddFn.spec.js +0 -72
  117. package/parser/functions/db/dbAddOrEditFn.spec.js +0 -97
  118. package/parser/functions/db/dbBulkAddFn.spec.js +0 -94
  119. package/parser/functions/db/dbBulkDeleteFn.spec.js +0 -28
  120. package/parser/functions/db/dbBulkPatchFn.spec.js +0 -42
  121. package/parser/functions/db/dbBulkUpdateFn.spec.js +0 -42
  122. package/parser/functions/db/dbDelFn.spec.js +0 -67
  123. package/parser/functions/db/dbDirectQueryFn.spec.js +0 -104
  124. package/parser/functions/db/dbEditFn.spec.js +0 -122
  125. package/parser/functions/db/dbExternalDirectQueryFn.spec.js +0 -103
  126. package/parser/functions/db/dbGetFn.spec.js +0 -117
  127. package/parser/functions/db/dbHasFn.spec.js +0 -62
  128. package/parser/functions/db/dbPatchFn.spec.js +0 -88
  129. package/parser/functions/db/dbQueryFn.spec.js +0 -380
  130. package/parser/functions/db/dbSchemaFn.spec.js +0 -42
  131. package/parser/functions/db/dbSetDatasourceFn.spec.js +0 -44
  132. package/parser/functions/db/dbTransactionFn.spec.js +0 -63
  133. package/parser/functions/db/dbTruncateFn.spec.js +0 -42
  134. package/parser/functions/debug/debugLogFn.spec.js +0 -44
  135. package/parser/functions/debug/debugStopFn.spec.js +0 -44
  136. package/parser/functions/expect/unitExpectToBeWithinFn.spec.js +0 -63
  137. package/parser/functions/expect/unitExpectToThrowFn.spec.js +0 -40
  138. package/parser/functions/expect/unitExpectWithArgumentsFn.spec.js +0 -355
  139. package/parser/functions/expect/unitExpectWithoutArgumentsFn.spec.js +0 -69
  140. package/parser/functions/expect/workflowExpectToBeWithinFn.spec.js +0 -70
  141. package/parser/functions/expect/workflowExpectToThrowFn.spec.js +0 -56
  142. package/parser/functions/expect/workflowExpectWithArgumentsFn.spec.js +0 -308
  143. package/parser/functions/expect/workflowExpectWithoutArgumentsFn.spec.js +0 -87
  144. package/parser/functions/math/allMathFn.spec.js +0 -100
  145. package/parser/functions/middlewareCallFn.spec.js +0 -44
  146. package/parser/functions/object/objectEntriesFn.spec.js +0 -44
  147. package/parser/functions/object/objectKeysFn.spec.js +0 -44
  148. package/parser/functions/object/objectValuesFn.spec.js +0 -44
  149. package/parser/functions/redis/redisCountFn.spec.js +0 -58
  150. package/parser/functions/redis/redisDecrFn.spec.js +0 -47
  151. package/parser/functions/redis/redisDelFn.spec.js +0 -58
  152. package/parser/functions/redis/redisGetFn.spec.js +0 -67
  153. package/parser/functions/redis/redisHasFn.spec.js +0 -58
  154. package/parser/functions/redis/redisIncrFn.spec.js +0 -74
  155. package/parser/functions/redis/redisKeysFn.spec.js +0 -67
  156. package/parser/functions/redis/redisPopFn.spec.js +0 -75
  157. package/parser/functions/redis/redisPushFn.spec.js +0 -71
  158. package/parser/functions/redis/redisRangeFn.spec.js +0 -80
  159. package/parser/functions/redis/redisRateLimitFn.spec.js +0 -87
  160. package/parser/functions/redis/redisRemoveFn.spec.js +0 -65
  161. package/parser/functions/redis/redisSetFn.spec.js +0 -89
  162. package/parser/functions/redis/redisShiftFn.spec.js +0 -75
  163. package/parser/functions/redis/redisUnshiftFn.spec.js +0 -73
  164. package/parser/functions/schema/schemaFn.spec.js +0 -92
  165. package/parser/functions/schema/schemaParseArrayFn.spec.js +0 -134
  166. package/parser/functions/schema/schemaParseAttributeFn.spec.js +0 -285
  167. package/parser/functions/schema/schemaParseConstantFn.spec.js +0 -122
  168. package/parser/functions/schema/schemaParseEnum.spec.js +0 -47
  169. package/parser/functions/schema/schemaParseImmutableFn.spec.js +0 -99
  170. package/parser/functions/schema/schemaParseObjectFn.spec.js +0 -223
  171. package/parser/functions/schema/utils.spec.js +0 -27
  172. package/parser/functions/security/securityCheckPasswordFn.spec.js +0 -22
  173. package/parser/functions/security/securityCreateAuthTokenFn.spec.js +0 -51
  174. package/parser/functions/security/securityCreateCurveKeyFn.spec.js +0 -22
  175. package/parser/functions/security/securityCreatePasswordFn.spec.js +0 -26
  176. package/parser/functions/security/securityCreateRsaKeyFn.spec.js +0 -22
  177. package/parser/functions/security/securityCreateSecretKeyFn.spec.js +0 -22
  178. package/parser/functions/security/securityCreateUuidFn.spec.js +0 -27
  179. package/parser/functions/security/securityDecryptFn.spec.js +0 -24
  180. package/parser/functions/security/securityEncryptFn.spec.js +0 -24
  181. package/parser/functions/security/securityJweDecodeFn.spec.js +0 -26
  182. package/parser/functions/security/securityJweDecodeLegacyFn.spec.js +0 -26
  183. package/parser/functions/security/securityJweEncodeFn.spec.js +0 -26
  184. package/parser/functions/security/securityJweEncodeLegacyFn.spec.js +0 -25
  185. package/parser/functions/security/securityJwsDecodeFn.spec.js +0 -25
  186. package/parser/functions/security/securityJwsEncodeFn.spec.js +0 -25
  187. package/parser/functions/security/securityRandomBytesFn.spec.js +0 -21
  188. package/parser/functions/security/securityRandomNumberFn.spec.js +0 -22
  189. package/parser/functions/storage/storageCreateAttachmentFn.spec.js +0 -87
  190. package/parser/functions/storage/storageCreateAudioFn.spec.js +0 -98
  191. package/parser/functions/storage/storageCreateFileResourceFn.spec.js +0 -72
  192. package/parser/functions/storage/storageCreateImageFn.spec.js +0 -98
  193. package/parser/functions/storage/storageCreateVideoFn.spec.js +0 -99
  194. package/parser/functions/storage/storageDeleteFileFn.spec.js +0 -67
  195. package/parser/functions/storage/storageReadFileResourceFn.spec.js +0 -60
  196. package/parser/functions/storage/storageSignPrivateUrlFn.spec.js +0 -72
  197. package/parser/functions/stream/streamFromCsvFn.spec.js +0 -69
  198. package/parser/functions/stream/streamFromJsonlFn.spec.js +0 -47
  199. package/parser/functions/stream/streamFromRequestFn.spec.js +0 -103
  200. package/parser/functions/text/allTextWithReturnValueFn.spec.js +0 -100
  201. package/parser/functions/text/allTextWithoutReturnValueFn.spec.js +0 -122
  202. package/parser/functions/toolCallFn.spec.js +0 -28
  203. package/parser/functions/triggerCallFn.spec.js +0 -51
  204. package/parser/functions/unitExpectFn.spec.js +0 -21
  205. package/parser/functions/util/utilGeoDistanceFn.spec.js +0 -79
  206. package/parser/functions/util/utilGetAllInputFn.spec.js +0 -33
  207. package/parser/functions/util/utilGetEnvFn.spec.js +0 -33
  208. package/parser/functions/util/utilGetRawInputFn.spec.js +0 -62
  209. package/parser/functions/util/utilGetVarsFn.spec.js +0 -33
  210. package/parser/functions/util/utilIpLookupFn.spec.js +0 -37
  211. package/parser/functions/util/utilPostProcessFn.spec.js +0 -63
  212. package/parser/functions/util/utilSendEmailFn.spec.js +0 -62
  213. package/parser/functions/util/utilSetHeaderFn.spec.js +0 -48
  214. package/parser/functions/util/utilSleepFn.spec.js +0 -44
  215. package/parser/functions/util/utilTemplateFn.spec.js +0 -78
  216. package/parser/functions/varFn.spec.js +0 -332
  217. package/parser/functions/workflowExpectFn.spec.js +0 -32
  218. package/parser/functions/zip/zipAddToArchiveFn.spec.js +0 -78
  219. package/parser/functions/zip/zipCreateArchiveFn.spec.js +0 -53
  220. package/parser/functions/zip/zipDeleteFromArchiveFn.spec.js +0 -69
  221. package/parser/functions/zip/zipExtractFn.spec.js +0 -52
  222. package/parser/functions/zip/zipViewContentsFn.spec.js +0 -52
  223. package/parser/generic/arrayWithValues.spec.js +0 -72
  224. package/parser/generic/asVariable.spec.js +0 -117
  225. package/parser/generic/assignableVariableAs.spec.js +0 -126
  226. package/parser/generic/assignableVariableProperty.spec.js +0 -138
  227. package/parser/generic/castedValue.spec.js +0 -29
  228. package/parser/generic/chainedIdentifier.spec.js +0 -89
  229. package/parser/generic/completeAuthVariable.spec.js +0 -23
  230. package/parser/generic/completeEnvVariable.spec.js +0 -99
  231. package/parser/generic/completeErrorVariable.spec.js +0 -17
  232. package/parser/generic/completeInputVariable.spec.js +0 -53
  233. package/parser/generic/expressionFn.spec.js +0 -605
  234. package/parser/generic/filterFn.spec.js +0 -47
  235. package/parser/generic/functionAttrReq.spec.js +0 -353
  236. package/parser/generic/longFormVariable.spec.js +0 -25
  237. package/parser/generic/minimalFnBody.spec.js +0 -47
  238. package/parser/generic/mockAttribute.spec.js +0 -57
  239. package/parser/generic/multilineFilterFn.spec.js +0 -51
  240. package/parser/generic/objectWithAttributes.spec.js +0 -147
  241. package/parser/generic/requiredValueFnBody.spec.js +0 -56
  242. package/parser/generic/shortFormVariable.spec.js +0 -27
  243. package/parser/generic/stringArray.spec.js +0 -55
  244. package/parser/generic/tagsAttribute.spec.js +0 -47
  245. package/parser/generic/variableOnly.spec.js +0 -47
  246. package/parser/mcp_server_parser.spec.js +0 -478
  247. package/parser/mcp_server_trigger_parser.spec.js +0 -396
  248. package/parser/metadata/columnMetadataDefinition.spec.js +0 -47
  249. package/parser/metadata/enumColumnMetadataDefinition.spec.js +0 -81
  250. package/parser/middleware_parser.spec.js +0 -230
  251. package/parser/multidoc.spec.js +0 -946
  252. package/parser/query_parser.spec.js +0 -202
  253. package/parser/realtime_channel_parser.spec.js +0 -20
  254. package/parser/realtime_trigger_parser.spec.js +0 -469
  255. package/parser/run_parser.spec.js +0 -100
  256. package/parser/table_parser.spec.js +0 -176
  257. package/parser/table_trigger_parser.spec.js +0 -478
  258. package/parser/task_parser.spec.js +0 -94
  259. package/parser/tests/agent/agent_parser.spec.js +0 -52
  260. package/parser/tests/agent/valid_sources/customer_servier_agent.xs +0 -45
  261. package/parser/tests/api_group/api_group_parser.spec.js +0 -52
  262. package/parser/tests/api_group/valid_sources/api_group_history.xs +0 -4
  263. package/parser/tests/api_group/valid_sources/basic_api_group.xs +0 -3
  264. package/parser/tests/api_group/valid_sources/complete_api_group.xs +0 -7
  265. package/parser/tests/api_group/valid_sources/protected_api_group.xs +0 -7
  266. package/parser/tests/function/function_parser.spec.js +0 -52
  267. package/parser/tests/function/valid_sources/all_controls.xs +0 -68
  268. package/parser/tests/function/valid_sources/all_query_return_types.xs +0 -227
  269. package/parser/tests/function/valid_sources/all_storage.xs +0 -45
  270. package/parser/tests/function/valid_sources/discord_poll_send_to_slack.xs +0 -133
  271. package/parser/tests/function/valid_sources/expression_in_response.xs +0 -22
  272. package/parser/tests/function/valid_sources/filter_by_value.xs +0 -55
  273. package/parser/tests/function/valid_sources/filter_query.xs +0 -82
  274. package/parser/tests/function/valid_sources/large_regex.xs +0 -13
  275. package/parser/tests/function/valid_sources/ledash_ends_with.xs +0 -90
  276. package/parser/tests/function/valid_sources/multiline_description.xs +0 -28
  277. package/parser/tests/function/valid_sources/multiline_expr.xs +0 -41
  278. package/parser/tests/function/valid_sources/set_theory_fn.xs +0 -129
  279. package/parser/tests/function/valid_sources/simple_unit_test.xs +0 -33
  280. package/parser/tests/function/valid_sources/valid_officer.xs +0 -57
  281. package/parser/tests/function/valid_sources/webflow.xs +0 -18
  282. package/parser/tests/query/query_parser.spec.js +0 -54
  283. package/parser/tests/query/valid_sources/all_basics.xs +0 -51
  284. package/parser/tests/query/valid_sources/all_cloud.xs +0 -141
  285. package/parser/tests/query/valid_sources/all_db.xs +0 -102
  286. package/parser/tests/query/valid_sources/all_external_db.xs +0 -43
  287. package/parser/tests/query/valid_sources/all_keywords.xs +0 -65
  288. package/parser/tests/query/valid_sources/all_math.xs +0 -53
  289. package/parser/tests/query/valid_sources/all_object.xs +0 -25
  290. package/parser/tests/query/valid_sources/all_redis.xs +0 -106
  291. package/parser/tests/query/valid_sources/all_security.xs +0 -105
  292. package/parser/tests/query/valid_sources/all_stream.xs +0 -69
  293. package/parser/tests/query/valid_sources/all_text.xs +0 -54
  294. package/parser/tests/query/valid_sources/all_util.xs +0 -66
  295. package/parser/tests/query/valid_sources/all_zip.xs +0 -39
  296. package/parser/tests/query/valid_sources/arrays.xs +0 -33
  297. package/parser/tests/query/valid_sources/disabled_response.xs +0 -27
  298. package/parser/tests/query/valid_sources/multiline_lambda_GET.xs +0 -50
  299. package/parser/tests/query/valid_sources/mutliline_query.xs +0 -140
  300. package/parser/tests/query/valid_sources/patch_expression_multiline.xs +0 -27
  301. package/parser/tests/query/valid_sources/query_cache.xs +0 -34
  302. package/parser/tests/query/valid_sources/query_example.xs +0 -43
  303. package/parser/tests/query/valid_sources/query_mini.xs +0 -11
  304. package/parser/tests/query/valid_sources/query_rich_inputs.xs +0 -32
  305. package/parser/tests/query/valid_sources/simple_unit_test.xs +0 -33
  306. package/parser/tests/query/valid_sources/test_with_slashes.xs +0 -22
  307. package/parser/tests/query/valid_sources/with_unit_test.xs +0 -97
  308. package/parser/tests/table/table_parser.spec.js +0 -52
  309. package/parser/tests/table/valid_sources/account.xs +0 -31
  310. package/parser/tests/table/valid_sources/all_basic_columns.xs +0 -44
  311. package/parser/tests/table/valid_sources/basic_table.xs +0 -15
  312. package/parser/tests/table/valid_sources/empty_object.xs +0 -17
  313. package/parser/tests/table/valid_sources/empty_table.xs +0 -3
  314. package/parser/tests/table/valid_sources/multiline_index.xs +0 -33
  315. package/parser/tests/table/valid_sources/relation.xs +0 -44
  316. package/parser/tests/table/valid_sources/rich_columns.xs +0 -31
  317. package/parser/tests/table/valid_sources/table_with_comments.xs +0 -17
  318. package/parser/tests/table/valid_sources/table_with_search_index.xs +0 -31
  319. package/parser/tests/table/valid_sources/view_table.xs +0 -62
  320. package/parser/tests/task/task_parser.spec.js +0 -53
  321. package/parser/tests/task/valid_sources/active_event.xs +0 -11
  322. package/parser/tests/task/valid_sources/all_events.xs +0 -17
  323. package/parser/tests/task/valid_sources/create_leak.xs +0 -165
  324. package/parser/tests/task/valid_sources/daily_sales_report.xs +0 -56
  325. package/parser/tests/task/valid_sources/inactive_event.xs +0 -11
  326. package/parser/tests/variable_test/coverage_check.xs +0 -293
  327. package/parser/tests/workflow_test/valid_sources/basic_workflow_test.xs +0 -13
  328. package/parser/tests/workflow_test/workflow_test_parser.spec.js +0 -52
  329. package/parser/tool_parser.spec.js +0 -115
  330. package/parser/variableValidator.spec.js +0 -179
  331. package/parser/workflow_test_parser.spec.js +0 -136
  332. package/parser/workspace_parser.spec.js +0 -142
  333. package/parser/workspace_trigger_parser.spec.js +0 -332
  334. package/toTmLanguage.js +0 -75
  335. package/utils.spec.js +0 -369
  336. package/workspace/crossFileValidator.spec.js +0 -654
  337. package/workspace/referenceTracking.spec.js +0 -420
  338. 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
- });