flowquery 1.0.45 → 1.0.47

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 (418) 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/operations/unwind.d.ts +1 -1
  7. package/dist/parsing/operations/unwind.d.ts.map +1 -1
  8. package/dist/parsing/operations/unwind.js +9 -5
  9. package/dist/parsing/operations/unwind.js.map +1 -1
  10. package/package.json +4 -1
  11. package/.editorconfig +0 -21
  12. package/.gitattributes +0 -3
  13. package/.github/workflows/npm-publish.yml +0 -32
  14. package/.github/workflows/python-publish.yml +0 -143
  15. package/.github/workflows/release.yml +0 -107
  16. package/.husky/pre-commit +0 -28
  17. package/.prettierrc +0 -22
  18. package/CODE_OF_CONDUCT.md +0 -10
  19. package/FlowQueryLogoIcon.png +0 -0
  20. package/SECURITY.md +0 -14
  21. package/SUPPORT.md +0 -13
  22. package/docs/flowquery.min.js +0 -1
  23. package/docs/index.html +0 -105
  24. package/flowquery-py/CONTRIBUTING.md +0 -127
  25. package/flowquery-py/README.md +0 -67
  26. package/flowquery-py/misc/data/test.json +0 -10
  27. package/flowquery-py/misc/data/users.json +0 -242
  28. package/flowquery-py/notebooks/TestFlowQuery.ipynb +0 -440
  29. package/flowquery-py/pyproject.toml +0 -121
  30. package/flowquery-py/setup_env.ps1 +0 -92
  31. package/flowquery-py/setup_env.sh +0 -87
  32. package/flowquery-py/src/__init__.py +0 -38
  33. package/flowquery-py/src/__main__.py +0 -10
  34. package/flowquery-py/src/compute/__init__.py +0 -6
  35. package/flowquery-py/src/compute/flowquery.py +0 -68
  36. package/flowquery-py/src/compute/runner.py +0 -64
  37. package/flowquery-py/src/extensibility.py +0 -52
  38. package/flowquery-py/src/graph/__init__.py +0 -31
  39. package/flowquery-py/src/graph/data.py +0 -136
  40. package/flowquery-py/src/graph/database.py +0 -141
  41. package/flowquery-py/src/graph/hops.py +0 -43
  42. package/flowquery-py/src/graph/node.py +0 -143
  43. package/flowquery-py/src/graph/node_data.py +0 -26
  44. package/flowquery-py/src/graph/node_reference.py +0 -50
  45. package/flowquery-py/src/graph/pattern.py +0 -115
  46. package/flowquery-py/src/graph/pattern_expression.py +0 -67
  47. package/flowquery-py/src/graph/patterns.py +0 -42
  48. package/flowquery-py/src/graph/physical_node.py +0 -41
  49. package/flowquery-py/src/graph/physical_relationship.py +0 -36
  50. package/flowquery-py/src/graph/relationship.py +0 -193
  51. package/flowquery-py/src/graph/relationship_data.py +0 -36
  52. package/flowquery-py/src/graph/relationship_match_collector.py +0 -85
  53. package/flowquery-py/src/graph/relationship_reference.py +0 -21
  54. package/flowquery-py/src/io/__init__.py +0 -5
  55. package/flowquery-py/src/io/command_line.py +0 -108
  56. package/flowquery-py/src/parsing/__init__.py +0 -17
  57. package/flowquery-py/src/parsing/alias.py +0 -20
  58. package/flowquery-py/src/parsing/alias_option.py +0 -11
  59. package/flowquery-py/src/parsing/ast_node.py +0 -147
  60. package/flowquery-py/src/parsing/base_parser.py +0 -84
  61. package/flowquery-py/src/parsing/components/__init__.py +0 -19
  62. package/flowquery-py/src/parsing/components/csv.py +0 -8
  63. package/flowquery-py/src/parsing/components/from_.py +0 -12
  64. package/flowquery-py/src/parsing/components/headers.py +0 -12
  65. package/flowquery-py/src/parsing/components/json.py +0 -8
  66. package/flowquery-py/src/parsing/components/null.py +0 -10
  67. package/flowquery-py/src/parsing/components/post.py +0 -8
  68. package/flowquery-py/src/parsing/components/text.py +0 -8
  69. package/flowquery-py/src/parsing/context.py +0 -50
  70. package/flowquery-py/src/parsing/data_structures/__init__.py +0 -15
  71. package/flowquery-py/src/parsing/data_structures/associative_array.py +0 -41
  72. package/flowquery-py/src/parsing/data_structures/json_array.py +0 -30
  73. package/flowquery-py/src/parsing/data_structures/key_value_pair.py +0 -38
  74. package/flowquery-py/src/parsing/data_structures/lookup.py +0 -51
  75. package/flowquery-py/src/parsing/data_structures/range_lookup.py +0 -42
  76. package/flowquery-py/src/parsing/expressions/__init__.py +0 -61
  77. package/flowquery-py/src/parsing/expressions/boolean.py +0 -20
  78. package/flowquery-py/src/parsing/expressions/expression.py +0 -141
  79. package/flowquery-py/src/parsing/expressions/expression_map.py +0 -26
  80. package/flowquery-py/src/parsing/expressions/f_string.py +0 -27
  81. package/flowquery-py/src/parsing/expressions/identifier.py +0 -21
  82. package/flowquery-py/src/parsing/expressions/number.py +0 -32
  83. package/flowquery-py/src/parsing/expressions/operator.py +0 -271
  84. package/flowquery-py/src/parsing/expressions/reference.py +0 -47
  85. package/flowquery-py/src/parsing/expressions/string.py +0 -27
  86. package/flowquery-py/src/parsing/functions/__init__.py +0 -127
  87. package/flowquery-py/src/parsing/functions/aggregate_function.py +0 -60
  88. package/flowquery-py/src/parsing/functions/async_function.py +0 -65
  89. package/flowquery-py/src/parsing/functions/avg.py +0 -55
  90. package/flowquery-py/src/parsing/functions/coalesce.py +0 -43
  91. package/flowquery-py/src/parsing/functions/collect.py +0 -75
  92. package/flowquery-py/src/parsing/functions/count.py +0 -79
  93. package/flowquery-py/src/parsing/functions/date_.py +0 -61
  94. package/flowquery-py/src/parsing/functions/datetime_.py +0 -62
  95. package/flowquery-py/src/parsing/functions/duration.py +0 -159
  96. package/flowquery-py/src/parsing/functions/element_id.py +0 -50
  97. package/flowquery-py/src/parsing/functions/function.py +0 -68
  98. package/flowquery-py/src/parsing/functions/function_factory.py +0 -170
  99. package/flowquery-py/src/parsing/functions/function_metadata.py +0 -148
  100. package/flowquery-py/src/parsing/functions/functions.py +0 -67
  101. package/flowquery-py/src/parsing/functions/head.py +0 -39
  102. package/flowquery-py/src/parsing/functions/id_.py +0 -49
  103. package/flowquery-py/src/parsing/functions/join.py +0 -49
  104. package/flowquery-py/src/parsing/functions/keys.py +0 -34
  105. package/flowquery-py/src/parsing/functions/last.py +0 -39
  106. package/flowquery-py/src/parsing/functions/localdatetime.py +0 -60
  107. package/flowquery-py/src/parsing/functions/localtime.py +0 -57
  108. package/flowquery-py/src/parsing/functions/max_.py +0 -49
  109. package/flowquery-py/src/parsing/functions/min_.py +0 -49
  110. package/flowquery-py/src/parsing/functions/nodes.py +0 -48
  111. package/flowquery-py/src/parsing/functions/predicate_function.py +0 -47
  112. package/flowquery-py/src/parsing/functions/predicate_sum.py +0 -49
  113. package/flowquery-py/src/parsing/functions/properties.py +0 -50
  114. package/flowquery-py/src/parsing/functions/rand.py +0 -28
  115. package/flowquery-py/src/parsing/functions/range_.py +0 -41
  116. package/flowquery-py/src/parsing/functions/reducer_element.py +0 -15
  117. package/flowquery-py/src/parsing/functions/relationships.py +0 -46
  118. package/flowquery-py/src/parsing/functions/replace.py +0 -39
  119. package/flowquery-py/src/parsing/functions/round_.py +0 -34
  120. package/flowquery-py/src/parsing/functions/schema.py +0 -40
  121. package/flowquery-py/src/parsing/functions/size.py +0 -34
  122. package/flowquery-py/src/parsing/functions/split.py +0 -54
  123. package/flowquery-py/src/parsing/functions/string_distance.py +0 -92
  124. package/flowquery-py/src/parsing/functions/stringify.py +0 -49
  125. package/flowquery-py/src/parsing/functions/substring.py +0 -76
  126. package/flowquery-py/src/parsing/functions/sum.py +0 -51
  127. package/flowquery-py/src/parsing/functions/tail.py +0 -37
  128. package/flowquery-py/src/parsing/functions/temporal_utils.py +0 -186
  129. package/flowquery-py/src/parsing/functions/time_.py +0 -57
  130. package/flowquery-py/src/parsing/functions/timestamp.py +0 -37
  131. package/flowquery-py/src/parsing/functions/to_float.py +0 -46
  132. package/flowquery-py/src/parsing/functions/to_integer.py +0 -46
  133. package/flowquery-py/src/parsing/functions/to_json.py +0 -35
  134. package/flowquery-py/src/parsing/functions/to_lower.py +0 -37
  135. package/flowquery-py/src/parsing/functions/to_string.py +0 -41
  136. package/flowquery-py/src/parsing/functions/trim.py +0 -37
  137. package/flowquery-py/src/parsing/functions/type_.py +0 -47
  138. package/flowquery-py/src/parsing/functions/value_holder.py +0 -24
  139. package/flowquery-py/src/parsing/logic/__init__.py +0 -15
  140. package/flowquery-py/src/parsing/logic/case.py +0 -28
  141. package/flowquery-py/src/parsing/logic/else_.py +0 -12
  142. package/flowquery-py/src/parsing/logic/end.py +0 -8
  143. package/flowquery-py/src/parsing/logic/then.py +0 -12
  144. package/flowquery-py/src/parsing/logic/when.py +0 -12
  145. package/flowquery-py/src/parsing/operations/__init__.py +0 -46
  146. package/flowquery-py/src/parsing/operations/aggregated_return.py +0 -25
  147. package/flowquery-py/src/parsing/operations/aggregated_with.py +0 -22
  148. package/flowquery-py/src/parsing/operations/call.py +0 -73
  149. package/flowquery-py/src/parsing/operations/create_node.py +0 -35
  150. package/flowquery-py/src/parsing/operations/create_relationship.py +0 -35
  151. package/flowquery-py/src/parsing/operations/delete_node.py +0 -29
  152. package/flowquery-py/src/parsing/operations/delete_relationship.py +0 -29
  153. package/flowquery-py/src/parsing/operations/group_by.py +0 -148
  154. package/flowquery-py/src/parsing/operations/limit.py +0 -33
  155. package/flowquery-py/src/parsing/operations/load.py +0 -148
  156. package/flowquery-py/src/parsing/operations/match.py +0 -52
  157. package/flowquery-py/src/parsing/operations/operation.py +0 -69
  158. package/flowquery-py/src/parsing/operations/order_by.py +0 -114
  159. package/flowquery-py/src/parsing/operations/projection.py +0 -21
  160. package/flowquery-py/src/parsing/operations/return_op.py +0 -88
  161. package/flowquery-py/src/parsing/operations/union.py +0 -115
  162. package/flowquery-py/src/parsing/operations/union_all.py +0 -17
  163. package/flowquery-py/src/parsing/operations/unwind.py +0 -38
  164. package/flowquery-py/src/parsing/operations/where.py +0 -43
  165. package/flowquery-py/src/parsing/operations/with_op.py +0 -18
  166. package/flowquery-py/src/parsing/parser.py +0 -1384
  167. package/flowquery-py/src/parsing/parser_state.py +0 -26
  168. package/flowquery-py/src/parsing/token_to_node.py +0 -109
  169. package/flowquery-py/src/tokenization/__init__.py +0 -23
  170. package/flowquery-py/src/tokenization/keyword.py +0 -54
  171. package/flowquery-py/src/tokenization/operator.py +0 -29
  172. package/flowquery-py/src/tokenization/string_walker.py +0 -158
  173. package/flowquery-py/src/tokenization/symbol.py +0 -19
  174. package/flowquery-py/src/tokenization/token.py +0 -693
  175. package/flowquery-py/src/tokenization/token_mapper.py +0 -53
  176. package/flowquery-py/src/tokenization/token_type.py +0 -21
  177. package/flowquery-py/src/tokenization/tokenizer.py +0 -214
  178. package/flowquery-py/src/tokenization/trie.py +0 -125
  179. package/flowquery-py/src/utils/__init__.py +0 -6
  180. package/flowquery-py/src/utils/object_utils.py +0 -20
  181. package/flowquery-py/src/utils/string_utils.py +0 -113
  182. package/flowquery-py/tests/__init__.py +0 -1
  183. package/flowquery-py/tests/compute/__init__.py +0 -1
  184. package/flowquery-py/tests/compute/test_runner.py +0 -4879
  185. package/flowquery-py/tests/graph/__init__.py +0 -1
  186. package/flowquery-py/tests/graph/test_create.py +0 -56
  187. package/flowquery-py/tests/graph/test_data.py +0 -73
  188. package/flowquery-py/tests/graph/test_match.py +0 -40
  189. package/flowquery-py/tests/parsing/__init__.py +0 -1
  190. package/flowquery-py/tests/parsing/test_context.py +0 -34
  191. package/flowquery-py/tests/parsing/test_expression.py +0 -248
  192. package/flowquery-py/tests/parsing/test_parser.py +0 -1237
  193. package/flowquery-py/tests/test_extensibility.py +0 -611
  194. package/flowquery-py/tests/tokenization/__init__.py +0 -1
  195. package/flowquery-py/tests/tokenization/test_token_mapper.py +0 -60
  196. package/flowquery-py/tests/tokenization/test_tokenizer.py +0 -198
  197. package/flowquery-py/tests/tokenization/test_trie.py +0 -30
  198. package/flowquery-vscode/.vscode-test.mjs +0 -5
  199. package/flowquery-vscode/.vscodeignore +0 -13
  200. package/flowquery-vscode/LICENSE +0 -21
  201. package/flowquery-vscode/README.md +0 -11
  202. package/flowquery-vscode/demo/FlowQueryVSCodeDemo.gif +0 -0
  203. package/flowquery-vscode/eslint.config.mjs +0 -25
  204. package/flowquery-vscode/extension.js +0 -508
  205. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +0 -1
  206. package/flowquery-vscode/flowquery-worker.js +0 -66
  207. package/flowquery-vscode/images/FlowQueryLogoIcon.png +0 -0
  208. package/flowquery-vscode/jsconfig.json +0 -13
  209. package/flowquery-vscode/libs/page.css +0 -53
  210. package/flowquery-vscode/libs/table.css +0 -13
  211. package/flowquery-vscode/libs/tabs.css +0 -66
  212. package/flowquery-vscode/package-lock.json +0 -2917
  213. package/flowquery-vscode/package.json +0 -51
  214. package/flowquery-vscode/test/extension.test.js +0 -196
  215. package/flowquery-vscode/test/worker.test.js +0 -25
  216. package/flowquery-vscode/vsc-extension-quickstart.md +0 -42
  217. package/jest.config.js +0 -8
  218. package/misc/apps/RAG/README.md +0 -29
  219. package/misc/apps/RAG/data/chats.json +0 -302
  220. package/misc/apps/RAG/data/emails.json +0 -182
  221. package/misc/apps/RAG/data/events.json +0 -226
  222. package/misc/apps/RAG/data/files.json +0 -172
  223. package/misc/apps/RAG/data/users.json +0 -158
  224. package/misc/apps/RAG/jest.config.js +0 -21
  225. package/misc/apps/RAG/package.json +0 -48
  226. package/misc/apps/RAG/public/index.html +0 -18
  227. package/misc/apps/RAG/src/App.css +0 -42
  228. package/misc/apps/RAG/src/App.tsx +0 -50
  229. package/misc/apps/RAG/src/components/AdaptiveCardRenderer.css +0 -172
  230. package/misc/apps/RAG/src/components/AdaptiveCardRenderer.tsx +0 -380
  231. package/misc/apps/RAG/src/components/ApiKeySettings.tsx +0 -245
  232. package/misc/apps/RAG/src/components/ChatContainer.css +0 -67
  233. package/misc/apps/RAG/src/components/ChatContainer.tsx +0 -242
  234. package/misc/apps/RAG/src/components/ChatInput.css +0 -23
  235. package/misc/apps/RAG/src/components/ChatInput.tsx +0 -76
  236. package/misc/apps/RAG/src/components/ChatMessage.css +0 -160
  237. package/misc/apps/RAG/src/components/ChatMessage.tsx +0 -286
  238. package/misc/apps/RAG/src/components/FlowQueryAgent.ts +0 -708
  239. package/misc/apps/RAG/src/components/FlowQueryRunner.css +0 -113
  240. package/misc/apps/RAG/src/components/FlowQueryRunner.tsx +0 -371
  241. package/misc/apps/RAG/src/components/index.ts +0 -28
  242. package/misc/apps/RAG/src/graph/index.ts +0 -19
  243. package/misc/apps/RAG/src/graph/initializeGraph.ts +0 -254
  244. package/misc/apps/RAG/src/index.tsx +0 -29
  245. package/misc/apps/RAG/src/prompts/FlowQuerySystemPrompt.ts +0 -327
  246. package/misc/apps/RAG/src/prompts/index.ts +0 -10
  247. package/misc/apps/RAG/src/tests/graph.test.ts +0 -35
  248. package/misc/apps/RAG/src/utils/FlowQueryExecutor.ts +0 -130
  249. package/misc/apps/RAG/src/utils/FlowQueryExtractor.ts +0 -208
  250. package/misc/apps/RAG/src/utils/Llm.ts +0 -248
  251. package/misc/apps/RAG/src/utils/index.ts +0 -12
  252. package/misc/apps/RAG/tsconfig.json +0 -22
  253. package/misc/apps/RAG/webpack.config.js +0 -43
  254. package/misc/apps/README.md +0 -1
  255. package/misc/queries/analyze_catfacts.cql +0 -75
  256. package/misc/queries/azure_openai_completions.cql +0 -13
  257. package/misc/queries/azure_openai_models.cql +0 -9
  258. package/misc/queries/mock_pipeline.cql +0 -84
  259. package/misc/queries/openai_completions.cql +0 -15
  260. package/misc/queries/openai_models.cql +0 -13
  261. package/misc/queries/test.cql +0 -6
  262. package/misc/queries/tool_inference.cql +0 -24
  263. package/misc/queries/wisdom.cql +0 -6
  264. package/misc/queries/wisdom_letter_histogram.cql +0 -8
  265. package/src/compute/flowquery.ts +0 -46
  266. package/src/compute/runner.ts +0 -66
  267. package/src/extensibility.ts +0 -45
  268. package/src/graph/data.ts +0 -130
  269. package/src/graph/database.ts +0 -143
  270. package/src/graph/hops.ts +0 -22
  271. package/src/graph/node.ts +0 -122
  272. package/src/graph/node_data.ts +0 -18
  273. package/src/graph/node_reference.ts +0 -38
  274. package/src/graph/pattern.ts +0 -110
  275. package/src/graph/pattern_expression.ts +0 -48
  276. package/src/graph/patterns.ts +0 -36
  277. package/src/graph/physical_node.ts +0 -23
  278. package/src/graph/physical_relationship.ts +0 -23
  279. package/src/graph/relationship.ts +0 -167
  280. package/src/graph/relationship_data.ts +0 -31
  281. package/src/graph/relationship_match_collector.ts +0 -64
  282. package/src/graph/relationship_reference.ts +0 -25
  283. package/src/index.browser.ts +0 -46
  284. package/src/index.node.ts +0 -55
  285. package/src/index.ts +0 -12
  286. package/src/io/command_line.ts +0 -74
  287. package/src/parsing/alias.ts +0 -23
  288. package/src/parsing/alias_option.ts +0 -5
  289. package/src/parsing/ast_node.ts +0 -153
  290. package/src/parsing/base_parser.ts +0 -98
  291. package/src/parsing/components/csv.ts +0 -9
  292. package/src/parsing/components/from.ts +0 -12
  293. package/src/parsing/components/headers.ts +0 -12
  294. package/src/parsing/components/json.ts +0 -9
  295. package/src/parsing/components/null.ts +0 -9
  296. package/src/parsing/components/post.ts +0 -9
  297. package/src/parsing/components/text.ts +0 -9
  298. package/src/parsing/context.ts +0 -54
  299. package/src/parsing/data_structures/associative_array.ts +0 -43
  300. package/src/parsing/data_structures/json_array.ts +0 -31
  301. package/src/parsing/data_structures/key_value_pair.ts +0 -37
  302. package/src/parsing/data_structures/lookup.ts +0 -44
  303. package/src/parsing/data_structures/range_lookup.ts +0 -36
  304. package/src/parsing/expressions/boolean.ts +0 -21
  305. package/src/parsing/expressions/expression.ts +0 -150
  306. package/src/parsing/expressions/expression_map.ts +0 -22
  307. package/src/parsing/expressions/f_string.ts +0 -26
  308. package/src/parsing/expressions/identifier.ts +0 -22
  309. package/src/parsing/expressions/number.ts +0 -40
  310. package/src/parsing/expressions/operator.ts +0 -354
  311. package/src/parsing/expressions/reference.ts +0 -45
  312. package/src/parsing/expressions/string.ts +0 -34
  313. package/src/parsing/functions/aggregate_function.ts +0 -58
  314. package/src/parsing/functions/async_function.ts +0 -64
  315. package/src/parsing/functions/avg.ts +0 -47
  316. package/src/parsing/functions/coalesce.ts +0 -49
  317. package/src/parsing/functions/collect.ts +0 -54
  318. package/src/parsing/functions/count.ts +0 -54
  319. package/src/parsing/functions/date.ts +0 -63
  320. package/src/parsing/functions/datetime.ts +0 -63
  321. package/src/parsing/functions/duration.ts +0 -143
  322. package/src/parsing/functions/element_id.ts +0 -51
  323. package/src/parsing/functions/function.ts +0 -60
  324. package/src/parsing/functions/function_factory.ts +0 -195
  325. package/src/parsing/functions/function_metadata.ts +0 -217
  326. package/src/parsing/functions/functions.ts +0 -70
  327. package/src/parsing/functions/head.ts +0 -42
  328. package/src/parsing/functions/id.ts +0 -51
  329. package/src/parsing/functions/join.ts +0 -40
  330. package/src/parsing/functions/keys.ts +0 -29
  331. package/src/parsing/functions/last.ts +0 -42
  332. package/src/parsing/functions/localdatetime.ts +0 -63
  333. package/src/parsing/functions/localtime.ts +0 -58
  334. package/src/parsing/functions/max.ts +0 -37
  335. package/src/parsing/functions/min.ts +0 -37
  336. package/src/parsing/functions/nodes.ts +0 -54
  337. package/src/parsing/functions/predicate_function.ts +0 -48
  338. package/src/parsing/functions/predicate_sum.ts +0 -47
  339. package/src/parsing/functions/properties.ts +0 -56
  340. package/src/parsing/functions/rand.ts +0 -21
  341. package/src/parsing/functions/range.ts +0 -37
  342. package/src/parsing/functions/reducer_element.ts +0 -10
  343. package/src/parsing/functions/relationships.ts +0 -52
  344. package/src/parsing/functions/replace.ts +0 -38
  345. package/src/parsing/functions/round.ts +0 -28
  346. package/src/parsing/functions/schema.ts +0 -39
  347. package/src/parsing/functions/size.ts +0 -28
  348. package/src/parsing/functions/split.ts +0 -45
  349. package/src/parsing/functions/string_distance.ts +0 -83
  350. package/src/parsing/functions/stringify.ts +0 -37
  351. package/src/parsing/functions/substring.ts +0 -68
  352. package/src/parsing/functions/sum.ts +0 -41
  353. package/src/parsing/functions/tail.ts +0 -39
  354. package/src/parsing/functions/temporal_utils.ts +0 -180
  355. package/src/parsing/functions/time.ts +0 -58
  356. package/src/parsing/functions/timestamp.ts +0 -37
  357. package/src/parsing/functions/to_float.ts +0 -50
  358. package/src/parsing/functions/to_integer.ts +0 -50
  359. package/src/parsing/functions/to_json.ts +0 -28
  360. package/src/parsing/functions/to_lower.ts +0 -28
  361. package/src/parsing/functions/to_string.ts +0 -32
  362. package/src/parsing/functions/trim.ts +0 -28
  363. package/src/parsing/functions/type.ts +0 -39
  364. package/src/parsing/functions/value_holder.ts +0 -13
  365. package/src/parsing/logic/case.ts +0 -26
  366. package/src/parsing/logic/else.ts +0 -12
  367. package/src/parsing/logic/end.ts +0 -9
  368. package/src/parsing/logic/then.ts +0 -12
  369. package/src/parsing/logic/when.ts +0 -12
  370. package/src/parsing/operations/aggregated_return.ts +0 -22
  371. package/src/parsing/operations/aggregated_with.ts +0 -18
  372. package/src/parsing/operations/call.ts +0 -69
  373. package/src/parsing/operations/create_node.ts +0 -39
  374. package/src/parsing/operations/create_relationship.ts +0 -38
  375. package/src/parsing/operations/delete_node.ts +0 -33
  376. package/src/parsing/operations/delete_relationship.ts +0 -32
  377. package/src/parsing/operations/group_by.ts +0 -137
  378. package/src/parsing/operations/limit.ts +0 -31
  379. package/src/parsing/operations/load.ts +0 -146
  380. package/src/parsing/operations/match.ts +0 -54
  381. package/src/parsing/operations/operation.ts +0 -69
  382. package/src/parsing/operations/order_by.ts +0 -126
  383. package/src/parsing/operations/projection.ts +0 -18
  384. package/src/parsing/operations/return.ts +0 -76
  385. package/src/parsing/operations/union.ts +0 -114
  386. package/src/parsing/operations/union_all.ts +0 -16
  387. package/src/parsing/operations/unwind.ts +0 -32
  388. package/src/parsing/operations/where.ts +0 -42
  389. package/src/parsing/operations/with.ts +0 -20
  390. package/src/parsing/parser.ts +0 -1641
  391. package/src/parsing/parser_state.ts +0 -25
  392. package/src/parsing/token_to_node.ts +0 -114
  393. package/src/tokenization/keyword.ts +0 -50
  394. package/src/tokenization/operator.ts +0 -25
  395. package/src/tokenization/string_walker.ts +0 -197
  396. package/src/tokenization/symbol.ts +0 -15
  397. package/src/tokenization/token.ts +0 -764
  398. package/src/tokenization/token_mapper.ts +0 -53
  399. package/src/tokenization/token_type.ts +0 -16
  400. package/src/tokenization/tokenizer.ts +0 -250
  401. package/src/tokenization/trie.ts +0 -117
  402. package/src/utils/object_utils.ts +0 -17
  403. package/src/utils/string_utils.ts +0 -114
  404. package/tests/compute/runner.test.ts +0 -4538
  405. package/tests/extensibility.test.ts +0 -643
  406. package/tests/graph/create.test.ts +0 -36
  407. package/tests/graph/data.test.ts +0 -58
  408. package/tests/graph/match.test.ts +0 -29
  409. package/tests/parsing/context.test.ts +0 -27
  410. package/tests/parsing/expression.test.ts +0 -303
  411. package/tests/parsing/parser.test.ts +0 -1327
  412. package/tests/tokenization/token_mapper.test.ts +0 -47
  413. package/tests/tokenization/tokenizer.test.ts +0 -191
  414. package/tests/tokenization/trie.test.ts +0 -20
  415. package/tsconfig.json +0 -18
  416. package/typedoc.json +0 -16
  417. package/vscode-settings.json.recommended +0 -16
  418. 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 = "`"