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,26 +0,0 @@
1
- from typing import Dict
2
-
3
- from .ast_node import ASTNode
4
- from .context import Context
5
-
6
-
7
- class ParserState:
8
- def __init__(self) -> None:
9
- self._variables: Dict[str, ASTNode] = {}
10
- self._context = Context()
11
- self._returns = 0
12
-
13
- @property
14
- def variables(self) -> Dict[str, ASTNode]:
15
- return self._variables
16
-
17
- @property
18
- def context(self) -> Context:
19
- return self._context
20
-
21
- @property
22
- def returns(self) -> int:
23
- return self._returns
24
-
25
- def increment_returns(self) -> None:
26
- self._returns += 1
@@ -1,109 +0,0 @@
1
- """Converts tokens to AST nodes."""
2
-
3
- from ..tokenization.token import Token
4
- from .ast_node import ASTNode
5
- from .components.csv import CSV
6
- from .components.json import JSON
7
- from .components.null import Null
8
- from .components.text import Text
9
- from .expressions.boolean import Boolean
10
- from .expressions.identifier import Identifier
11
- from .expressions.number import Number
12
- from .expressions.operator import (
13
- Add,
14
- And,
15
- Divide,
16
- Equals,
17
- GreaterThan,
18
- GreaterThanOrEqual,
19
- Is,
20
- LessThan,
21
- LessThanOrEqual,
22
- Modulo,
23
- Multiply,
24
- Not,
25
- NotEquals,
26
- Or,
27
- Power,
28
- Subtract,
29
- )
30
- from .expressions.string import String
31
- from .logic.else_ import Else
32
- from .logic.end import End
33
- from .logic.then import Then
34
- from .logic.when import When
35
-
36
-
37
- class TokenToNode:
38
- """Converts tokens to their corresponding AST nodes."""
39
-
40
- @staticmethod
41
- def convert(token: Token) -> ASTNode:
42
- if token.is_number():
43
- if token.value is None:
44
- raise ValueError("Number token has no value")
45
- return Number(token.value)
46
- elif token.is_string():
47
- if token.value is None:
48
- raise ValueError("String token has no value")
49
- return String(token.value)
50
- elif token.is_identifier():
51
- if token.value is None:
52
- raise ValueError("Identifier token has no value")
53
- return Identifier(token.value)
54
- elif token.is_operator():
55
- if token.is_add():
56
- return Add()
57
- elif token.is_subtract():
58
- return Subtract()
59
- elif token.is_multiply():
60
- return Multiply()
61
- elif token.is_divide():
62
- return Divide()
63
- elif token.is_modulo():
64
- return Modulo()
65
- elif token.is_exponent():
66
- return Power()
67
- elif token.is_equals():
68
- return Equals()
69
- elif token.is_not_equals():
70
- return NotEquals()
71
- elif token.is_less_than():
72
- return LessThan()
73
- elif token.is_greater_than():
74
- return GreaterThan()
75
- elif token.is_greater_than_or_equal():
76
- return GreaterThanOrEqual()
77
- elif token.is_less_than_or_equal():
78
- return LessThanOrEqual()
79
- elif token.is_and():
80
- return And()
81
- elif token.is_or():
82
- return Or()
83
- elif token.is_is():
84
- return Is()
85
- elif token.is_unary_operator():
86
- if token.is_not():
87
- return Not()
88
- elif token.is_keyword():
89
- if token.is_json():
90
- return JSON()
91
- elif token.is_csv():
92
- return CSV()
93
- elif token.is_text():
94
- return Text()
95
- elif token.is_when():
96
- return When()
97
- elif token.is_then():
98
- return Then()
99
- elif token.is_else():
100
- return Else()
101
- elif token.is_end():
102
- return End()
103
- elif token.is_null():
104
- return Null()
105
- elif token.is_boolean():
106
- return Boolean(token.value or "")
107
- else:
108
- raise ValueError("Unknown token")
109
- return ASTNode()
@@ -1,23 +0,0 @@
1
- """Tokenization module for FlowQuery."""
2
-
3
- from .keyword import Keyword
4
- from .operator import Operator
5
- from .string_walker import StringWalker
6
- from .symbol import Symbol
7
- from .token import Token
8
- from .token_mapper import TokenMapper
9
- from .token_type import TokenType
10
- from .tokenizer import Tokenizer
11
- from .trie import Trie
12
-
13
- __all__ = [
14
- "Tokenizer",
15
- "Token",
16
- "TokenType",
17
- "Keyword",
18
- "Operator",
19
- "Symbol",
20
- "TokenMapper",
21
- "StringWalker",
22
- "Trie",
23
- ]
@@ -1,54 +0,0 @@
1
- """Keyword enumeration for FlowQuery tokenization."""
2
-
3
- from enum import Enum
4
-
5
-
6
- class Keyword(Enum):
7
- """Enumeration of all keywords in FlowQuery."""
8
-
9
- RETURN = "RETURN"
10
- MATCH = "MATCH"
11
- OPTIONAL = "OPTIONAL"
12
- WHERE = "WHERE"
13
- CREATE = "CREATE"
14
- VIRTUAL = "VIRTUAL"
15
- MERGE = "MERGE"
16
- DELETE = "DELETE"
17
- DETACH = "DETACH"
18
- SET = "SET"
19
- REMOVE = "REMOVE"
20
- FOREACH = "FOREACH"
21
- WITH = "WITH"
22
- CALL = "CALL"
23
- YIELD = "YIELD"
24
- LOAD = "LOAD"
25
- HEADERS = "HEADERS"
26
- POST = "POST"
27
- FROM = "FROM"
28
- CSV = "CSV"
29
- JSON = "JSON"
30
- TEXT = "TEXT"
31
- AS = "AS"
32
- UNWIND = "UNWIND"
33
- SUM = "SUM"
34
- COLLECT = "COLLECT"
35
- DISTINCT = "DISTINCT"
36
- ORDER = "ORDER"
37
- BY = "BY"
38
- ASC = "ASC"
39
- DESC = "DESC"
40
- SKIP = "SKIP"
41
- LIMIT = "LIMIT"
42
- EOF = "EOF"
43
- CASE = "CASE"
44
- WHEN = "WHEN"
45
- THEN = "THEN"
46
- ELSE = "ELSE"
47
- END = "END"
48
- NULL = "NULL"
49
- IN = "IN"
50
- CONTAINS = "CONTAINS"
51
- STARTS = "STARTS"
52
- ENDS = "ENDS"
53
- UNION = "UNION"
54
- ALL = "ALL"
@@ -1,29 +0,0 @@
1
- """Operator enumeration for FlowQuery tokenization."""
2
-
3
- from enum import Enum
4
-
5
-
6
- class Operator(Enum):
7
- """Enumeration of all operators in FlowQuery."""
8
-
9
- # Arithmetic
10
- ADD = "+"
11
- SUBTRACT = "-"
12
- MULTIPLY = "*"
13
- DIVIDE = "/"
14
- MODULO = "%"
15
- EXPONENT = "^"
16
- # Comparison
17
- EQUALS = "="
18
- NOT_EQUALS = "<>"
19
- LESS_THAN = "<"
20
- LESS_THAN_OR_EQUAL = "<="
21
- GREATER_THAN = ">"
22
- GREATER_THAN_OR_EQUAL = ">="
23
- IS = "IS"
24
- # Logical
25
- AND = "AND"
26
- OR = "OR"
27
- NOT = "NOT"
28
- IN = "IN"
29
- PIPE = "|"
@@ -1,158 +0,0 @@
1
- """Utility class for walking through a string character by character during tokenization."""
2
-
3
- from ..utils.string_utils import StringUtils
4
-
5
-
6
- class StringWalker:
7
- """Utility class for walking through a string character by character during tokenization.
8
-
9
- Provides methods to check for specific character patterns, move through the string,
10
- and extract substrings. Used by the Tokenizer to process input text.
11
-
12
- Example:
13
- walker = StringWalker("WITH x as variable")
14
- while not walker.is_at_end:
15
- # Process characters
16
- """
17
-
18
- def __init__(self, text: str):
19
- """Creates a new StringWalker for the given text.
20
-
21
- Args:
22
- text: The input text to walk through
23
- """
24
- self._text = text
25
- self._position = 0
26
-
27
- @property
28
- def position(self) -> int:
29
- return self._position
30
-
31
- @property
32
- def current_char(self) -> str:
33
- if self._position >= len(self._text):
34
- return ''
35
- return self._text[self._position]
36
-
37
- @property
38
- def next_char(self) -> str:
39
- if self._position + 1 >= len(self._text):
40
- return ''
41
- return self._text[self._position + 1]
42
-
43
- @property
44
- def previous_char(self) -> str:
45
- if self._position - 1 < 0:
46
- return ''
47
- return self._text[self._position - 1]
48
-
49
- @property
50
- def is_at_end(self) -> bool:
51
- return self._position >= len(self._text)
52
-
53
- def get_string(self, start_position: int) -> str:
54
- return self._text[start_position:self._position]
55
-
56
- def get_remaining_string(self) -> str:
57
- return self._text[self._position:]
58
-
59
- def check_for_single_comment(self) -> bool:
60
- if self.single_line_comment_start():
61
- while not self.is_at_end and not self.new_line():
62
- self._position += 1
63
- return True
64
- return False
65
-
66
- def check_for_multi_line_comment(self) -> bool:
67
- if self.multi_line_comment_start():
68
- while not self.is_at_end:
69
- if self.multi_line_comment_end():
70
- self._position += 2
71
- return True
72
- self._position += 1
73
- raise ValueError(f"Unterminated multi-line comment at position {self._position}")
74
- return False
75
-
76
- def single_line_comment_start(self) -> bool:
77
- return self.current_char == '/' and self.next_char == '/'
78
-
79
- def multi_line_comment_start(self) -> bool:
80
- return self.current_char == '/' and self.next_char == '*'
81
-
82
- def multi_line_comment_end(self) -> bool:
83
- return self.current_char == '*' and self.next_char == '/'
84
-
85
- def new_line(self) -> bool:
86
- return self.current_char == '\n'
87
-
88
- def escaped(self, char: str) -> bool:
89
- return self.current_char == '\\' and self.next_char == char
90
-
91
- def escaped_brace(self) -> bool:
92
- return ((self.current_char == '{' and self.next_char == '{') or
93
- (self.current_char == '}' and self.next_char == '}'))
94
-
95
- def opening_brace(self) -> bool:
96
- return self.current_char == '{'
97
-
98
- def closing_brace(self) -> bool:
99
- return self.current_char == '}'
100
-
101
- def check_for_under_score(self) -> bool:
102
- found_under_score = self.current_char == '_'
103
- if found_under_score:
104
- self._position += 1
105
- return found_under_score
106
-
107
- def check_for_letter(self) -> bool:
108
- found_letter = self.current_char.lower() in StringUtils.letters
109
- if found_letter:
110
- self._position += 1
111
- return found_letter
112
-
113
- def check_for_digit(self) -> bool:
114
- found_digit = self.current_char in StringUtils.digits
115
- if found_digit:
116
- self._position += 1
117
- return found_digit
118
-
119
- def check_for_quote(self) -> str | None:
120
- quote_char = self.current_char
121
- if quote_char in ('"', "'", '`'):
122
- self._position += 1
123
- return quote_char
124
- return None
125
-
126
- def check_for_string(self, value: str) -> bool:
127
- _string = self._text[self._position:self._position + len(value)]
128
- found_string = _string.lower() == value.lower()
129
- if found_string:
130
- self._position += len(value)
131
- return found_string
132
-
133
- def check_for_whitespace(self) -> bool:
134
- return self.current_char in StringUtils.whitespace
135
-
136
- def check_for_f_string_start(self) -> bool:
137
- return self.current_char.lower() == 'f' and self.next_char in ("'", '"', '`')
138
-
139
- def move_next(self) -> None:
140
- self._position += 1
141
-
142
- def move_by(self, steps: int) -> None:
143
- self._position += steps
144
-
145
- def move_previous(self) -> None:
146
- self._position -= 1
147
-
148
- def is_word(self, word: str | None) -> bool:
149
- if word is None:
150
- return False
151
- return self._text[self._position:self._position + len(word)] == word
152
-
153
- def word_continuation(self, word: str) -> bool:
154
- next_pos = self._position + len(word)
155
- if next_pos >= len(self._text):
156
- return False
157
- next_char = self._text[next_pos]
158
- return next_char.lower() in StringUtils.word_valid_chars
@@ -1,19 +0,0 @@
1
- """Symbol enumeration for FlowQuery tokenization."""
2
-
3
- from enum import Enum
4
-
5
-
6
- class Symbol(Enum):
7
- """Enumeration of all symbols in FlowQuery."""
8
-
9
- LEFT_PARENTHESIS = "("
10
- RIGHT_PARENTHESIS = ")"
11
- COMMA = ","
12
- DOT = "."
13
- COLON = ":"
14
- WHITESPACE = ""
15
- OPENING_BRACE = "{"
16
- CLOSING_BRACE = "}"
17
- OPENING_BRACKET = "["
18
- CLOSING_BRACKET = "]"
19
- BACKTICK = "`"