flowquery 1.0.46 → 1.0.48

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 (422) hide show
  1. package/dist/flowquery.min.js +1 -1
  2. package/dist/index.d.ts +0 -7
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -4
  5. package/dist/index.js.map +1 -1
  6. package/dist/parsing/data_structures/list_comprehension.d.ts +56 -0
  7. package/dist/parsing/data_structures/list_comprehension.d.ts.map +1 -0
  8. package/dist/parsing/data_structures/list_comprehension.js +102 -0
  9. package/dist/parsing/data_structures/list_comprehension.js.map +1 -0
  10. package/dist/parsing/parser.d.ts +18 -0
  11. package/dist/parsing/parser.d.ts.map +1 -1
  12. package/dist/parsing/parser.js +92 -0
  13. package/dist/parsing/parser.js.map +1 -1
  14. package/package.json +4 -1
  15. package/.editorconfig +0 -21
  16. package/.gitattributes +0 -3
  17. package/.github/workflows/npm-publish.yml +0 -32
  18. package/.github/workflows/python-publish.yml +0 -143
  19. package/.github/workflows/release.yml +0 -107
  20. package/.husky/pre-commit +0 -28
  21. package/.prettierrc +0 -22
  22. package/CODE_OF_CONDUCT.md +0 -10
  23. package/FlowQueryLogoIcon.png +0 -0
  24. package/SECURITY.md +0 -14
  25. package/SUPPORT.md +0 -13
  26. package/docs/flowquery.min.js +0 -1
  27. package/docs/index.html +0 -105
  28. package/flowquery-py/CONTRIBUTING.md +0 -127
  29. package/flowquery-py/README.md +0 -67
  30. package/flowquery-py/misc/data/test.json +0 -10
  31. package/flowquery-py/misc/data/users.json +0 -242
  32. package/flowquery-py/notebooks/TestFlowQuery.ipynb +0 -440
  33. package/flowquery-py/pyproject.toml +0 -121
  34. package/flowquery-py/setup_env.ps1 +0 -92
  35. package/flowquery-py/setup_env.sh +0 -87
  36. package/flowquery-py/src/__init__.py +0 -38
  37. package/flowquery-py/src/__main__.py +0 -10
  38. package/flowquery-py/src/compute/__init__.py +0 -6
  39. package/flowquery-py/src/compute/flowquery.py +0 -68
  40. package/flowquery-py/src/compute/runner.py +0 -64
  41. package/flowquery-py/src/extensibility.py +0 -52
  42. package/flowquery-py/src/graph/__init__.py +0 -31
  43. package/flowquery-py/src/graph/data.py +0 -136
  44. package/flowquery-py/src/graph/database.py +0 -141
  45. package/flowquery-py/src/graph/hops.py +0 -43
  46. package/flowquery-py/src/graph/node.py +0 -143
  47. package/flowquery-py/src/graph/node_data.py +0 -26
  48. package/flowquery-py/src/graph/node_reference.py +0 -50
  49. package/flowquery-py/src/graph/pattern.py +0 -115
  50. package/flowquery-py/src/graph/pattern_expression.py +0 -67
  51. package/flowquery-py/src/graph/patterns.py +0 -42
  52. package/flowquery-py/src/graph/physical_node.py +0 -41
  53. package/flowquery-py/src/graph/physical_relationship.py +0 -36
  54. package/flowquery-py/src/graph/relationship.py +0 -193
  55. package/flowquery-py/src/graph/relationship_data.py +0 -36
  56. package/flowquery-py/src/graph/relationship_match_collector.py +0 -85
  57. package/flowquery-py/src/graph/relationship_reference.py +0 -21
  58. package/flowquery-py/src/io/__init__.py +0 -5
  59. package/flowquery-py/src/io/command_line.py +0 -108
  60. package/flowquery-py/src/parsing/__init__.py +0 -17
  61. package/flowquery-py/src/parsing/alias.py +0 -20
  62. package/flowquery-py/src/parsing/alias_option.py +0 -11
  63. package/flowquery-py/src/parsing/ast_node.py +0 -147
  64. package/flowquery-py/src/parsing/base_parser.py +0 -84
  65. package/flowquery-py/src/parsing/components/__init__.py +0 -19
  66. package/flowquery-py/src/parsing/components/csv.py +0 -8
  67. package/flowquery-py/src/parsing/components/from_.py +0 -12
  68. package/flowquery-py/src/parsing/components/headers.py +0 -12
  69. package/flowquery-py/src/parsing/components/json.py +0 -8
  70. package/flowquery-py/src/parsing/components/null.py +0 -10
  71. package/flowquery-py/src/parsing/components/post.py +0 -8
  72. package/flowquery-py/src/parsing/components/text.py +0 -8
  73. package/flowquery-py/src/parsing/context.py +0 -50
  74. package/flowquery-py/src/parsing/data_structures/__init__.py +0 -15
  75. package/flowquery-py/src/parsing/data_structures/associative_array.py +0 -41
  76. package/flowquery-py/src/parsing/data_structures/json_array.py +0 -30
  77. package/flowquery-py/src/parsing/data_structures/key_value_pair.py +0 -38
  78. package/flowquery-py/src/parsing/data_structures/lookup.py +0 -51
  79. package/flowquery-py/src/parsing/data_structures/range_lookup.py +0 -42
  80. package/flowquery-py/src/parsing/expressions/__init__.py +0 -61
  81. package/flowquery-py/src/parsing/expressions/boolean.py +0 -20
  82. package/flowquery-py/src/parsing/expressions/expression.py +0 -141
  83. package/flowquery-py/src/parsing/expressions/expression_map.py +0 -26
  84. package/flowquery-py/src/parsing/expressions/f_string.py +0 -27
  85. package/flowquery-py/src/parsing/expressions/identifier.py +0 -21
  86. package/flowquery-py/src/parsing/expressions/number.py +0 -32
  87. package/flowquery-py/src/parsing/expressions/operator.py +0 -271
  88. package/flowquery-py/src/parsing/expressions/reference.py +0 -47
  89. package/flowquery-py/src/parsing/expressions/string.py +0 -27
  90. package/flowquery-py/src/parsing/functions/__init__.py +0 -127
  91. package/flowquery-py/src/parsing/functions/aggregate_function.py +0 -60
  92. package/flowquery-py/src/parsing/functions/async_function.py +0 -65
  93. package/flowquery-py/src/parsing/functions/avg.py +0 -55
  94. package/flowquery-py/src/parsing/functions/coalesce.py +0 -43
  95. package/flowquery-py/src/parsing/functions/collect.py +0 -75
  96. package/flowquery-py/src/parsing/functions/count.py +0 -79
  97. package/flowquery-py/src/parsing/functions/date_.py +0 -61
  98. package/flowquery-py/src/parsing/functions/datetime_.py +0 -62
  99. package/flowquery-py/src/parsing/functions/duration.py +0 -159
  100. package/flowquery-py/src/parsing/functions/element_id.py +0 -50
  101. package/flowquery-py/src/parsing/functions/function.py +0 -68
  102. package/flowquery-py/src/parsing/functions/function_factory.py +0 -170
  103. package/flowquery-py/src/parsing/functions/function_metadata.py +0 -148
  104. package/flowquery-py/src/parsing/functions/functions.py +0 -67
  105. package/flowquery-py/src/parsing/functions/head.py +0 -39
  106. package/flowquery-py/src/parsing/functions/id_.py +0 -49
  107. package/flowquery-py/src/parsing/functions/join.py +0 -49
  108. package/flowquery-py/src/parsing/functions/keys.py +0 -34
  109. package/flowquery-py/src/parsing/functions/last.py +0 -39
  110. package/flowquery-py/src/parsing/functions/localdatetime.py +0 -60
  111. package/flowquery-py/src/parsing/functions/localtime.py +0 -57
  112. package/flowquery-py/src/parsing/functions/max_.py +0 -49
  113. package/flowquery-py/src/parsing/functions/min_.py +0 -49
  114. package/flowquery-py/src/parsing/functions/nodes.py +0 -48
  115. package/flowquery-py/src/parsing/functions/predicate_function.py +0 -47
  116. package/flowquery-py/src/parsing/functions/predicate_sum.py +0 -49
  117. package/flowquery-py/src/parsing/functions/properties.py +0 -50
  118. package/flowquery-py/src/parsing/functions/rand.py +0 -28
  119. package/flowquery-py/src/parsing/functions/range_.py +0 -41
  120. package/flowquery-py/src/parsing/functions/reducer_element.py +0 -15
  121. package/flowquery-py/src/parsing/functions/relationships.py +0 -46
  122. package/flowquery-py/src/parsing/functions/replace.py +0 -39
  123. package/flowquery-py/src/parsing/functions/round_.py +0 -34
  124. package/flowquery-py/src/parsing/functions/schema.py +0 -40
  125. package/flowquery-py/src/parsing/functions/size.py +0 -34
  126. package/flowquery-py/src/parsing/functions/split.py +0 -54
  127. package/flowquery-py/src/parsing/functions/string_distance.py +0 -92
  128. package/flowquery-py/src/parsing/functions/stringify.py +0 -49
  129. package/flowquery-py/src/parsing/functions/substring.py +0 -76
  130. package/flowquery-py/src/parsing/functions/sum.py +0 -51
  131. package/flowquery-py/src/parsing/functions/tail.py +0 -37
  132. package/flowquery-py/src/parsing/functions/temporal_utils.py +0 -186
  133. package/flowquery-py/src/parsing/functions/time_.py +0 -57
  134. package/flowquery-py/src/parsing/functions/timestamp.py +0 -37
  135. package/flowquery-py/src/parsing/functions/to_float.py +0 -46
  136. package/flowquery-py/src/parsing/functions/to_integer.py +0 -46
  137. package/flowquery-py/src/parsing/functions/to_json.py +0 -35
  138. package/flowquery-py/src/parsing/functions/to_lower.py +0 -37
  139. package/flowquery-py/src/parsing/functions/to_string.py +0 -41
  140. package/flowquery-py/src/parsing/functions/trim.py +0 -37
  141. package/flowquery-py/src/parsing/functions/type_.py +0 -47
  142. package/flowquery-py/src/parsing/functions/value_holder.py +0 -24
  143. package/flowquery-py/src/parsing/logic/__init__.py +0 -15
  144. package/flowquery-py/src/parsing/logic/case.py +0 -28
  145. package/flowquery-py/src/parsing/logic/else_.py +0 -12
  146. package/flowquery-py/src/parsing/logic/end.py +0 -8
  147. package/flowquery-py/src/parsing/logic/then.py +0 -12
  148. package/flowquery-py/src/parsing/logic/when.py +0 -12
  149. package/flowquery-py/src/parsing/operations/__init__.py +0 -46
  150. package/flowquery-py/src/parsing/operations/aggregated_return.py +0 -25
  151. package/flowquery-py/src/parsing/operations/aggregated_with.py +0 -22
  152. package/flowquery-py/src/parsing/operations/call.py +0 -73
  153. package/flowquery-py/src/parsing/operations/create_node.py +0 -35
  154. package/flowquery-py/src/parsing/operations/create_relationship.py +0 -35
  155. package/flowquery-py/src/parsing/operations/delete_node.py +0 -29
  156. package/flowquery-py/src/parsing/operations/delete_relationship.py +0 -29
  157. package/flowquery-py/src/parsing/operations/group_by.py +0 -148
  158. package/flowquery-py/src/parsing/operations/limit.py +0 -33
  159. package/flowquery-py/src/parsing/operations/load.py +0 -148
  160. package/flowquery-py/src/parsing/operations/match.py +0 -52
  161. package/flowquery-py/src/parsing/operations/operation.py +0 -69
  162. package/flowquery-py/src/parsing/operations/order_by.py +0 -114
  163. package/flowquery-py/src/parsing/operations/projection.py +0 -21
  164. package/flowquery-py/src/parsing/operations/return_op.py +0 -88
  165. package/flowquery-py/src/parsing/operations/union.py +0 -115
  166. package/flowquery-py/src/parsing/operations/union_all.py +0 -17
  167. package/flowquery-py/src/parsing/operations/unwind.py +0 -42
  168. package/flowquery-py/src/parsing/operations/where.py +0 -43
  169. package/flowquery-py/src/parsing/operations/with_op.py +0 -18
  170. package/flowquery-py/src/parsing/parser.py +0 -1384
  171. package/flowquery-py/src/parsing/parser_state.py +0 -26
  172. package/flowquery-py/src/parsing/token_to_node.py +0 -109
  173. package/flowquery-py/src/tokenization/__init__.py +0 -23
  174. package/flowquery-py/src/tokenization/keyword.py +0 -54
  175. package/flowquery-py/src/tokenization/operator.py +0 -29
  176. package/flowquery-py/src/tokenization/string_walker.py +0 -158
  177. package/flowquery-py/src/tokenization/symbol.py +0 -19
  178. package/flowquery-py/src/tokenization/token.py +0 -693
  179. package/flowquery-py/src/tokenization/token_mapper.py +0 -53
  180. package/flowquery-py/src/tokenization/token_type.py +0 -21
  181. package/flowquery-py/src/tokenization/tokenizer.py +0 -214
  182. package/flowquery-py/src/tokenization/trie.py +0 -125
  183. package/flowquery-py/src/utils/__init__.py +0 -6
  184. package/flowquery-py/src/utils/object_utils.py +0 -20
  185. package/flowquery-py/src/utils/string_utils.py +0 -113
  186. package/flowquery-py/tests/__init__.py +0 -1
  187. package/flowquery-py/tests/compute/__init__.py +0 -1
  188. package/flowquery-py/tests/compute/test_runner.py +0 -4902
  189. package/flowquery-py/tests/graph/__init__.py +0 -1
  190. package/flowquery-py/tests/graph/test_create.py +0 -56
  191. package/flowquery-py/tests/graph/test_data.py +0 -73
  192. package/flowquery-py/tests/graph/test_match.py +0 -40
  193. package/flowquery-py/tests/parsing/__init__.py +0 -1
  194. package/flowquery-py/tests/parsing/test_context.py +0 -34
  195. package/flowquery-py/tests/parsing/test_expression.py +0 -248
  196. package/flowquery-py/tests/parsing/test_parser.py +0 -1237
  197. package/flowquery-py/tests/test_extensibility.py +0 -611
  198. package/flowquery-py/tests/tokenization/__init__.py +0 -1
  199. package/flowquery-py/tests/tokenization/test_token_mapper.py +0 -60
  200. package/flowquery-py/tests/tokenization/test_tokenizer.py +0 -198
  201. package/flowquery-py/tests/tokenization/test_trie.py +0 -30
  202. package/flowquery-vscode/.vscode-test.mjs +0 -5
  203. package/flowquery-vscode/.vscodeignore +0 -13
  204. package/flowquery-vscode/LICENSE +0 -21
  205. package/flowquery-vscode/README.md +0 -11
  206. package/flowquery-vscode/demo/FlowQueryVSCodeDemo.gif +0 -0
  207. package/flowquery-vscode/eslint.config.mjs +0 -25
  208. package/flowquery-vscode/extension.js +0 -508
  209. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +0 -1
  210. package/flowquery-vscode/flowquery-worker.js +0 -66
  211. package/flowquery-vscode/images/FlowQueryLogoIcon.png +0 -0
  212. package/flowquery-vscode/jsconfig.json +0 -13
  213. package/flowquery-vscode/libs/page.css +0 -53
  214. package/flowquery-vscode/libs/table.css +0 -13
  215. package/flowquery-vscode/libs/tabs.css +0 -66
  216. package/flowquery-vscode/package-lock.json +0 -2917
  217. package/flowquery-vscode/package.json +0 -51
  218. package/flowquery-vscode/test/extension.test.js +0 -196
  219. package/flowquery-vscode/test/worker.test.js +0 -25
  220. package/flowquery-vscode/vsc-extension-quickstart.md +0 -42
  221. package/jest.config.js +0 -14
  222. package/misc/apps/RAG/README.md +0 -29
  223. package/misc/apps/RAG/data/chats.json +0 -302
  224. package/misc/apps/RAG/data/emails.json +0 -182
  225. package/misc/apps/RAG/data/events.json +0 -226
  226. package/misc/apps/RAG/data/files.json +0 -172
  227. package/misc/apps/RAG/data/users.json +0 -158
  228. package/misc/apps/RAG/jest.config.js +0 -21
  229. package/misc/apps/RAG/package.json +0 -48
  230. package/misc/apps/RAG/public/index.html +0 -18
  231. package/misc/apps/RAG/src/App.css +0 -42
  232. package/misc/apps/RAG/src/App.tsx +0 -50
  233. package/misc/apps/RAG/src/components/AdaptiveCardRenderer.css +0 -172
  234. package/misc/apps/RAG/src/components/AdaptiveCardRenderer.tsx +0 -380
  235. package/misc/apps/RAG/src/components/ApiKeySettings.tsx +0 -245
  236. package/misc/apps/RAG/src/components/ChatContainer.css +0 -67
  237. package/misc/apps/RAG/src/components/ChatContainer.tsx +0 -242
  238. package/misc/apps/RAG/src/components/ChatInput.css +0 -23
  239. package/misc/apps/RAG/src/components/ChatInput.tsx +0 -76
  240. package/misc/apps/RAG/src/components/ChatMessage.css +0 -160
  241. package/misc/apps/RAG/src/components/ChatMessage.tsx +0 -286
  242. package/misc/apps/RAG/src/components/FlowQueryAgent.ts +0 -708
  243. package/misc/apps/RAG/src/components/FlowQueryRunner.css +0 -113
  244. package/misc/apps/RAG/src/components/FlowQueryRunner.tsx +0 -371
  245. package/misc/apps/RAG/src/components/index.ts +0 -28
  246. package/misc/apps/RAG/src/graph/index.ts +0 -19
  247. package/misc/apps/RAG/src/graph/initializeGraph.ts +0 -254
  248. package/misc/apps/RAG/src/index.tsx +0 -29
  249. package/misc/apps/RAG/src/prompts/FlowQuerySystemPrompt.ts +0 -327
  250. package/misc/apps/RAG/src/prompts/index.ts +0 -10
  251. package/misc/apps/RAG/src/tests/graph.test.ts +0 -35
  252. package/misc/apps/RAG/src/utils/FlowQueryExecutor.ts +0 -130
  253. package/misc/apps/RAG/src/utils/FlowQueryExtractor.ts +0 -208
  254. package/misc/apps/RAG/src/utils/Llm.ts +0 -248
  255. package/misc/apps/RAG/src/utils/index.ts +0 -12
  256. package/misc/apps/RAG/tsconfig.json +0 -22
  257. package/misc/apps/RAG/webpack.config.js +0 -43
  258. package/misc/apps/README.md +0 -1
  259. package/misc/queries/analyze_catfacts.cql +0 -75
  260. package/misc/queries/azure_openai_completions.cql +0 -13
  261. package/misc/queries/azure_openai_models.cql +0 -9
  262. package/misc/queries/mock_pipeline.cql +0 -84
  263. package/misc/queries/openai_completions.cql +0 -15
  264. package/misc/queries/openai_models.cql +0 -13
  265. package/misc/queries/test.cql +0 -6
  266. package/misc/queries/tool_inference.cql +0 -24
  267. package/misc/queries/wisdom.cql +0 -6
  268. package/misc/queries/wisdom_letter_histogram.cql +0 -8
  269. package/src/compute/flowquery.ts +0 -46
  270. package/src/compute/runner.ts +0 -66
  271. package/src/extensibility.ts +0 -45
  272. package/src/graph/data.ts +0 -130
  273. package/src/graph/database.ts +0 -143
  274. package/src/graph/hops.ts +0 -22
  275. package/src/graph/node.ts +0 -122
  276. package/src/graph/node_data.ts +0 -18
  277. package/src/graph/node_reference.ts +0 -38
  278. package/src/graph/pattern.ts +0 -110
  279. package/src/graph/pattern_expression.ts +0 -48
  280. package/src/graph/patterns.ts +0 -36
  281. package/src/graph/physical_node.ts +0 -23
  282. package/src/graph/physical_relationship.ts +0 -23
  283. package/src/graph/relationship.ts +0 -167
  284. package/src/graph/relationship_data.ts +0 -31
  285. package/src/graph/relationship_match_collector.ts +0 -64
  286. package/src/graph/relationship_reference.ts +0 -25
  287. package/src/index.browser.ts +0 -46
  288. package/src/index.node.ts +0 -55
  289. package/src/index.ts +0 -12
  290. package/src/io/command_line.ts +0 -74
  291. package/src/parsing/alias.ts +0 -23
  292. package/src/parsing/alias_option.ts +0 -5
  293. package/src/parsing/ast_node.ts +0 -153
  294. package/src/parsing/base_parser.ts +0 -98
  295. package/src/parsing/components/csv.ts +0 -9
  296. package/src/parsing/components/from.ts +0 -12
  297. package/src/parsing/components/headers.ts +0 -12
  298. package/src/parsing/components/json.ts +0 -9
  299. package/src/parsing/components/null.ts +0 -9
  300. package/src/parsing/components/post.ts +0 -9
  301. package/src/parsing/components/text.ts +0 -9
  302. package/src/parsing/context.ts +0 -54
  303. package/src/parsing/data_structures/associative_array.ts +0 -43
  304. package/src/parsing/data_structures/json_array.ts +0 -31
  305. package/src/parsing/data_structures/key_value_pair.ts +0 -37
  306. package/src/parsing/data_structures/lookup.ts +0 -44
  307. package/src/parsing/data_structures/range_lookup.ts +0 -36
  308. package/src/parsing/expressions/boolean.ts +0 -21
  309. package/src/parsing/expressions/expression.ts +0 -150
  310. package/src/parsing/expressions/expression_map.ts +0 -22
  311. package/src/parsing/expressions/f_string.ts +0 -26
  312. package/src/parsing/expressions/identifier.ts +0 -22
  313. package/src/parsing/expressions/number.ts +0 -40
  314. package/src/parsing/expressions/operator.ts +0 -354
  315. package/src/parsing/expressions/reference.ts +0 -45
  316. package/src/parsing/expressions/string.ts +0 -34
  317. package/src/parsing/functions/aggregate_function.ts +0 -58
  318. package/src/parsing/functions/async_function.ts +0 -64
  319. package/src/parsing/functions/avg.ts +0 -47
  320. package/src/parsing/functions/coalesce.ts +0 -49
  321. package/src/parsing/functions/collect.ts +0 -54
  322. package/src/parsing/functions/count.ts +0 -54
  323. package/src/parsing/functions/date.ts +0 -63
  324. package/src/parsing/functions/datetime.ts +0 -63
  325. package/src/parsing/functions/duration.ts +0 -143
  326. package/src/parsing/functions/element_id.ts +0 -51
  327. package/src/parsing/functions/function.ts +0 -60
  328. package/src/parsing/functions/function_factory.ts +0 -195
  329. package/src/parsing/functions/function_metadata.ts +0 -217
  330. package/src/parsing/functions/functions.ts +0 -70
  331. package/src/parsing/functions/head.ts +0 -42
  332. package/src/parsing/functions/id.ts +0 -51
  333. package/src/parsing/functions/join.ts +0 -40
  334. package/src/parsing/functions/keys.ts +0 -29
  335. package/src/parsing/functions/last.ts +0 -42
  336. package/src/parsing/functions/localdatetime.ts +0 -63
  337. package/src/parsing/functions/localtime.ts +0 -58
  338. package/src/parsing/functions/max.ts +0 -37
  339. package/src/parsing/functions/min.ts +0 -37
  340. package/src/parsing/functions/nodes.ts +0 -54
  341. package/src/parsing/functions/predicate_function.ts +0 -48
  342. package/src/parsing/functions/predicate_sum.ts +0 -47
  343. package/src/parsing/functions/properties.ts +0 -56
  344. package/src/parsing/functions/rand.ts +0 -21
  345. package/src/parsing/functions/range.ts +0 -37
  346. package/src/parsing/functions/reducer_element.ts +0 -10
  347. package/src/parsing/functions/relationships.ts +0 -52
  348. package/src/parsing/functions/replace.ts +0 -38
  349. package/src/parsing/functions/round.ts +0 -28
  350. package/src/parsing/functions/schema.ts +0 -39
  351. package/src/parsing/functions/size.ts +0 -28
  352. package/src/parsing/functions/split.ts +0 -45
  353. package/src/parsing/functions/string_distance.ts +0 -83
  354. package/src/parsing/functions/stringify.ts +0 -37
  355. package/src/parsing/functions/substring.ts +0 -68
  356. package/src/parsing/functions/sum.ts +0 -41
  357. package/src/parsing/functions/tail.ts +0 -39
  358. package/src/parsing/functions/temporal_utils.ts +0 -180
  359. package/src/parsing/functions/time.ts +0 -58
  360. package/src/parsing/functions/timestamp.ts +0 -37
  361. package/src/parsing/functions/to_float.ts +0 -50
  362. package/src/parsing/functions/to_integer.ts +0 -50
  363. package/src/parsing/functions/to_json.ts +0 -28
  364. package/src/parsing/functions/to_lower.ts +0 -28
  365. package/src/parsing/functions/to_string.ts +0 -32
  366. package/src/parsing/functions/trim.ts +0 -28
  367. package/src/parsing/functions/type.ts +0 -39
  368. package/src/parsing/functions/value_holder.ts +0 -13
  369. package/src/parsing/logic/case.ts +0 -26
  370. package/src/parsing/logic/else.ts +0 -12
  371. package/src/parsing/logic/end.ts +0 -9
  372. package/src/parsing/logic/then.ts +0 -12
  373. package/src/parsing/logic/when.ts +0 -12
  374. package/src/parsing/operations/aggregated_return.ts +0 -22
  375. package/src/parsing/operations/aggregated_with.ts +0 -18
  376. package/src/parsing/operations/call.ts +0 -69
  377. package/src/parsing/operations/create_node.ts +0 -39
  378. package/src/parsing/operations/create_relationship.ts +0 -38
  379. package/src/parsing/operations/delete_node.ts +0 -33
  380. package/src/parsing/operations/delete_relationship.ts +0 -32
  381. package/src/parsing/operations/group_by.ts +0 -137
  382. package/src/parsing/operations/limit.ts +0 -31
  383. package/src/parsing/operations/load.ts +0 -146
  384. package/src/parsing/operations/match.ts +0 -54
  385. package/src/parsing/operations/operation.ts +0 -69
  386. package/src/parsing/operations/order_by.ts +0 -126
  387. package/src/parsing/operations/projection.ts +0 -18
  388. package/src/parsing/operations/return.ts +0 -76
  389. package/src/parsing/operations/union.ts +0 -114
  390. package/src/parsing/operations/union_all.ts +0 -16
  391. package/src/parsing/operations/unwind.ts +0 -36
  392. package/src/parsing/operations/where.ts +0 -42
  393. package/src/parsing/operations/with.ts +0 -20
  394. package/src/parsing/parser.ts +0 -1641
  395. package/src/parsing/parser_state.ts +0 -25
  396. package/src/parsing/token_to_node.ts +0 -114
  397. package/src/tokenization/keyword.ts +0 -50
  398. package/src/tokenization/operator.ts +0 -25
  399. package/src/tokenization/string_walker.ts +0 -197
  400. package/src/tokenization/symbol.ts +0 -15
  401. package/src/tokenization/token.ts +0 -764
  402. package/src/tokenization/token_mapper.ts +0 -53
  403. package/src/tokenization/token_type.ts +0 -16
  404. package/src/tokenization/tokenizer.ts +0 -250
  405. package/src/tokenization/trie.ts +0 -117
  406. package/src/utils/object_utils.ts +0 -17
  407. package/src/utils/string_utils.ts +0 -114
  408. package/tests/compute/runner.test.ts +0 -4559
  409. package/tests/extensibility.test.ts +0 -643
  410. package/tests/graph/create.test.ts +0 -36
  411. package/tests/graph/data.test.ts +0 -58
  412. package/tests/graph/match.test.ts +0 -29
  413. package/tests/parsing/context.test.ts +0 -27
  414. package/tests/parsing/expression.test.ts +0 -303
  415. package/tests/parsing/parser.test.ts +0 -1327
  416. package/tests/tokenization/token_mapper.test.ts +0 -47
  417. package/tests/tokenization/tokenizer.test.ts +0 -191
  418. package/tests/tokenization/trie.test.ts +0 -20
  419. package/tsconfig.json +0 -19
  420. package/typedoc.json +0 -16
  421. package/vscode-settings.json.recommended +0 -16
  422. package/webpack.config.js +0 -26
@@ -1,25 +0,0 @@
1
- import ASTNode from "./ast_node";
2
- import Context from "./context";
3
-
4
- class ParserState {
5
- private _variables: Map<string, ASTNode> = new Map();
6
- private _context: Context = new Context();
7
- private _returns: number = 0;
8
-
9
- public get variables(): Map<string, ASTNode> {
10
- return this._variables;
11
- }
12
-
13
- public get context(): Context {
14
- return this._context;
15
- }
16
-
17
- public get returns(): number {
18
- return this._returns;
19
- }
20
- public incrementReturns(): void {
21
- this._returns++;
22
- }
23
- }
24
-
25
- export default ParserState;
@@ -1,114 +0,0 @@
1
- import Token from "../tokenization/token";
2
- import ASTNode from "./ast_node";
3
- import CSV from "./components/csv";
4
- import JSON from "./components/json";
5
- import Null from "./components/null";
6
- import Text from "./components/text";
7
- import Boolean from "./expressions/boolean";
8
- import Identifier from "./expressions/identifier";
9
- import Number from "./expressions/number";
10
- import {
11
- Add,
12
- And,
13
- Divide,
14
- Equals,
15
- GreaterThan,
16
- GreaterThanOrEqual,
17
- Is,
18
- LessThan,
19
- LessThanOrEqual,
20
- Modulo,
21
- Multiply,
22
- Not,
23
- NotEquals,
24
- Or,
25
- Power,
26
- Subtract,
27
- } from "./expressions/operator";
28
- import String from "./expressions/string";
29
- import Else from "./logic/else";
30
- import End from "./logic/end";
31
- import Then from "./logic/then";
32
- import When from "./logic/when";
33
-
34
- class TokenToNode {
35
- public static convert(token: Token): ASTNode {
36
- if (token.isNumber()) {
37
- if (token.value === null) {
38
- throw new Error("Number token has no value");
39
- }
40
- return new Number(token.value);
41
- } else if (token.isString()) {
42
- if (token.value === null) {
43
- throw new Error("String token has no value");
44
- }
45
- return new String(token.value);
46
- } else if (token.isIdentifier()) {
47
- if (token.value === null) {
48
- throw new Error("Identifier token has no value");
49
- }
50
- return new Identifier(token.value);
51
- } else if (token.isOperator()) {
52
- if (token.isAdd()) {
53
- return new Add();
54
- } else if (token.isSubtract()) {
55
- return new Subtract();
56
- } else if (token.isMultiply()) {
57
- return new Multiply();
58
- } else if (token.isDivide()) {
59
- return new Divide();
60
- } else if (token.isModulo()) {
61
- return new Modulo();
62
- } else if (token.isExponent()) {
63
- return new Power();
64
- } else if (token.isEquals()) {
65
- return new Equals();
66
- } else if (token.isNotEquals()) {
67
- return new NotEquals();
68
- } else if (token.isLessThan()) {
69
- return new LessThan();
70
- } else if (token.isGreaterThan()) {
71
- return new GreaterThan();
72
- } else if (token.isGreaterThanOrEqual()) {
73
- return new GreaterThanOrEqual();
74
- } else if (token.isLessThanOrEqual()) {
75
- return new LessThanOrEqual();
76
- } else if (token.isAnd()) {
77
- return new And();
78
- } else if (token.isOr()) {
79
- return new Or();
80
- } else if (token.isIs()) {
81
- return new Is();
82
- }
83
- } else if (token.isUnaryOperator()) {
84
- if (token.isNot()) {
85
- return new Not();
86
- }
87
- } else if (token.isKeyword()) {
88
- if (token.isJSON()) {
89
- return new JSON();
90
- } else if (token.isCSV()) {
91
- return new CSV();
92
- } else if (token.isText()) {
93
- return new Text();
94
- } else if (token.isWhen()) {
95
- return new When();
96
- } else if (token.isThen()) {
97
- return new Then();
98
- } else if (token.isElse()) {
99
- return new Else();
100
- } else if (token.isEnd()) {
101
- return new End();
102
- } else if (token.isNull()) {
103
- return new Null();
104
- }
105
- } else if (token.isBoolean()) {
106
- return new Boolean(token.value!);
107
- } else {
108
- throw new Error("Unknown token");
109
- }
110
- return new ASTNode();
111
- }
112
- }
113
-
114
- export default TokenToNode;
@@ -1,50 +0,0 @@
1
- enum Keyword {
2
- RETURN = "RETURN",
3
- MATCH = "MATCH",
4
- OPTIONAL = "OPTIONAL",
5
- WHERE = "WHERE",
6
- CREATE = "CREATE",
7
- VIRTUAL = "VIRTUAL",
8
- MERGE = "MERGE",
9
- DELETE = "DELETE",
10
- DETACH = "DETACH",
11
- SET = "SET",
12
- REMOVE = "REMOVE",
13
- FOREACH = "FOREACH",
14
- WITH = "WITH",
15
- CALL = "CALL",
16
- YIELD = "YIELD",
17
- LOAD = "LOAD",
18
- HEADERS = "HEADERS",
19
- POST = "POST",
20
- FROM = "FROM",
21
- CSV = "CSV",
22
- JSON = "JSON",
23
- TEXT = "TEXT",
24
- AS = "AS",
25
- UNWIND = "UNWIND",
26
- SUM = "SUM",
27
- COLLECT = "COLLECT",
28
- DISTINCT = "DISTINCT",
29
- ORDER = "ORDER",
30
- BY = "BY",
31
- ASC = "ASC",
32
- DESC = "DESC",
33
- SKIP = "SKIP",
34
- LIMIT = "LIMIT",
35
- EOF = "EOF",
36
- CASE = "CASE",
37
- WHEN = "WHEN",
38
- THEN = "THEN",
39
- ELSE = "ELSE",
40
- END = "END",
41
- NULL = "NULL",
42
- IN = "IN",
43
- CONTAINS = "CONTAINS",
44
- STARTS = "STARTS",
45
- ENDS = "ENDS",
46
- UNION = "UNION",
47
- ALL = "ALL",
48
- }
49
-
50
- export default Keyword;
@@ -1,25 +0,0 @@
1
- enum Operator {
2
- // Arithmetic
3
- ADD = '+',
4
- SUBTRACT = '-',
5
- MULTIPLY = '*',
6
- DIVIDE = '/',
7
- MODULO = '%',
8
- EXPONENT = '^',
9
- // Comparison
10
- EQUALS = '=',
11
- NOT_EQUALS = '<>',
12
- LESS_THAN = '<',
13
- LESS_THAN_OR_EQUAL = '<=',
14
- GREATER_THAN = '>',
15
- GREATER_THAN_OR_EQUAL = '>=',
16
- IS = 'IS',
17
- // Logical
18
- AND = 'AND',
19
- OR = 'OR',
20
- NOT = 'NOT',
21
- IN = 'IN',
22
- PIPE = '|',
23
- }
24
-
25
- export default Operator;
@@ -1,197 +0,0 @@
1
- import StringUtils from "../utils/string_utils";
2
-
3
- /**
4
- * Utility class for walking through a string character by character during tokenization.
5
- *
6
- * Provides methods to check for specific character patterns, move through the string,
7
- * and extract substrings. Used by the Tokenizer to process input text.
8
- *
9
- * @example
10
- * ```typescript
11
- * const walker = new StringWalker("WITH x as variable");
12
- * while (!walker.isAtEnd) {
13
- * // Process characters
14
- * }
15
- * ```
16
- */
17
- class StringWalker {
18
- private _position: number;
19
- private readonly text: string;
20
-
21
- /**
22
- * Creates a new StringWalker for the given text.
23
- *
24
- * @param text - The input text to walk through
25
- */
26
- constructor(text: string) {
27
- this.text = text;
28
- this._position = 0;
29
- }
30
-
31
- public get position(): number {
32
- return this._position;
33
- }
34
-
35
- public get currentChar(): string {
36
- return this.text[this.position];
37
- }
38
-
39
- public get nextChar(): string {
40
- return this.text[this.position + 1];
41
- }
42
-
43
- public get previousChar(): string {
44
- return this.text[this.position - 1];
45
- }
46
-
47
- public get isAtEnd(): boolean {
48
- return this.position >= this.text.length;
49
- }
50
-
51
- public getString(startPosition: number): string {
52
- return this.text.substring(startPosition, this.position);
53
- }
54
-
55
- public getRemainingString(): string {
56
- return this.text.substring(this.position);
57
- }
58
-
59
- public checkForSingleComment(): boolean {
60
- if (this.singleLineCommentStart()) {
61
- while (!this.isAtEnd && !this.newLine()) {
62
- this._position++;
63
- }
64
- return true;
65
- }
66
- return false;
67
- }
68
-
69
- public checkForMultiLineComment(): boolean {
70
- if (this.multiLineCommentStart()) {
71
- while (!this.isAtEnd) {
72
- if (this.multiLineCommentEnd()) {
73
- this._position += 2;
74
- return true;
75
- }
76
- this._position++;
77
- }
78
- throw new Error(`Unterminated multi-line comment at position ${this.position}`);
79
- }
80
- return false;
81
- }
82
-
83
- public singleLineCommentStart(): boolean {
84
- return this.currentChar === "/" && this.nextChar === "/";
85
- }
86
-
87
- public multiLineCommentStart(): boolean {
88
- return this.currentChar === "/" && this.nextChar === "*";
89
- }
90
-
91
- public multiLineCommentEnd(): boolean {
92
- return this.currentChar === "*" && this.nextChar === "/";
93
- }
94
-
95
- public newLine(): boolean {
96
- if (this.currentChar === "\n") {
97
- return true;
98
- }
99
- return false;
100
- }
101
-
102
- public escaped(char: string): boolean {
103
- return this.currentChar === "\\" && this.nextChar === char;
104
- }
105
-
106
- public escapedBrace(): boolean {
107
- return (
108
- (this.currentChar === "{" && this.nextChar === "{") ||
109
- (this.currentChar === "}" && this.nextChar === "}")
110
- );
111
- }
112
-
113
- public openingBrace(): boolean {
114
- return this.currentChar === "{";
115
- }
116
-
117
- public closingBrace(): boolean {
118
- return this.currentChar === "}";
119
- }
120
-
121
- public checkForUnderScore(): boolean {
122
- const foundUnderScore = this.currentChar === "_";
123
- if (foundUnderScore) {
124
- this._position++;
125
- }
126
- return foundUnderScore;
127
- }
128
-
129
- public checkForLetter(): boolean {
130
- const foundLetter = StringUtils.letters.includes(this.currentChar.toLowerCase());
131
- if (foundLetter) {
132
- this._position++;
133
- }
134
- return foundLetter;
135
- }
136
-
137
- public checkForDigit(): boolean {
138
- const foundDigit = StringUtils.digits.includes(this.currentChar);
139
- if (foundDigit) {
140
- this._position++;
141
- }
142
- return foundDigit;
143
- }
144
-
145
- public checkForQuote(): string | null {
146
- const quoteChar = this.currentChar;
147
- if (quoteChar === '"' || quoteChar === "'" || quoteChar === "`") {
148
- this._position++;
149
- return quoteChar;
150
- }
151
- return null;
152
- }
153
-
154
- public checkForString(value: string): boolean {
155
- const _string = this.text.substring(this.position, this.position + value.length);
156
-
157
- const foundString = _string.toLowerCase() === value.toLowerCase();
158
- if (foundString) {
159
- this._position += value.length;
160
- }
161
- return foundString;
162
- }
163
-
164
- public checkForWhitespace(): boolean {
165
- return StringUtils.whitespace.includes(this.currentChar);
166
- }
167
-
168
- public checkForFStringStart(): boolean {
169
- return this.currentChar.toLowerCase() === "f" && ["'", '"', "`"].includes(this.nextChar);
170
- }
171
-
172
- public moveNext(): void {
173
- this._position++;
174
- }
175
-
176
- public moveBy(steps: number): void {
177
- this._position += steps;
178
- }
179
-
180
- public movePrevious(): void {
181
- this._position--;
182
- }
183
-
184
- public is_word(word: string | null): boolean {
185
- if (word === null) {
186
- return false;
187
- }
188
- return this.text.substring(this.position, this.position + word.length) === word;
189
- }
190
-
191
- public word_continuation(word: string): boolean {
192
- const next = this.text[this.position + word.length];
193
- return next !== undefined && StringUtils.word_valid_chars.includes(next.toLowerCase());
194
- }
195
- }
196
-
197
- export default StringWalker;
@@ -1,15 +0,0 @@
1
- enum Symbol {
2
- LEFT_PARENTHESIS = '(',
3
- RIGHT_PARENTHESIS = ')',
4
- COMMA = ',',
5
- DOT = '.',
6
- COLON = ':',
7
- WHITESPACE = '',
8
- OPENING_BRACE = '{',
9
- CLOSING_BRACE = '}',
10
- OPENING_BRACKET = '[',
11
- CLOSING_BRACKET = ']',
12
- BACKTICK = '`',
13
- }
14
-
15
- export default Symbol;