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