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,113 +0,0 @@
1
- .flowquery-runner-surface {
2
- max-width: 800px;
3
- width: 90vw;
4
- }
5
-
6
- .flowquery-runner-content {
7
- display: flex;
8
- flex-direction: column;
9
- gap: 16px;
10
- padding-top: 16px;
11
- }
12
-
13
- .flowquery-input-container {
14
- display: flex;
15
- flex-direction: column;
16
- gap: 8px;
17
- }
18
-
19
- .flowquery-textarea {
20
- width: 100%;
21
- min-height: 120px;
22
- font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace;
23
- font-size: 13px;
24
- resize: vertical;
25
- }
26
-
27
- .flowquery-actions {
28
- display: flex;
29
- gap: 8px;
30
- align-items: center;
31
- }
32
-
33
- .flowquery-execution-time {
34
- margin-left: auto;
35
- font-size: 12px;
36
- color: #666;
37
- }
38
-
39
- .flowquery-results-container {
40
- display: flex;
41
- flex-direction: column;
42
- gap: 8px;
43
- }
44
-
45
- .flowquery-results-header {
46
- display: flex;
47
- justify-content: space-between;
48
- align-items: center;
49
- }
50
-
51
- .flowquery-results-count {
52
- font-size: 12px;
53
- color: #666;
54
- }
55
-
56
- .flowquery-results {
57
- max-height: 300px;
58
- overflow: auto;
59
- border: 1px solid #e0e0e0;
60
- border-radius: 4px;
61
- background-color: #f8f8f8;
62
- }
63
-
64
- .flowquery-results-content {
65
- padding: 12px;
66
- font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace;
67
- font-size: 12px;
68
- white-space: pre-wrap;
69
- word-break: break-word;
70
- margin: 0;
71
- }
72
-
73
- .flowquery-error {
74
- color: #c50f1f;
75
- padding: 12px;
76
- margin: 0;
77
- }
78
-
79
- .flowquery-no-results {
80
- color: #666;
81
- font-style: italic;
82
- padding: 12px;
83
- }
84
-
85
- .flowquery-loading {
86
- display: flex;
87
- align-items: center;
88
- gap: 8px;
89
- padding: 12px;
90
- color: #666;
91
- }
92
-
93
- .flowquery-examples-list {
94
- display: flex;
95
- flex-direction: column;
96
- gap: 4px;
97
- }
98
-
99
- .flowquery-example-button {
100
- text-align: left;
101
- justify-content: flex-start;
102
- font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace;
103
- font-size: 12px;
104
- }
105
-
106
- .flowquery-adaptive-card-results {
107
- max-height: 400px;
108
- overflow: auto;
109
- border: 1px solid #e0e0e0;
110
- border-radius: 4px;
111
- padding: 8px;
112
- background-color: #ffffff;
113
- }
@@ -1,371 +0,0 @@
1
- /**
2
- * FlowQuery Runner Component
3
- *
4
- * A popup dialog that allows users to run FlowQuery statements directly
5
- * and see the results in the dialog.
6
- */
7
-
8
- import React, { Component } from 'react';
9
- import {
10
- Dialog,
11
- DialogTrigger,
12
- DialogSurface,
13
- DialogTitle,
14
- DialogBody,
15
- DialogActions,
16
- DialogContent,
17
- Button,
18
- Textarea,
19
- Label,
20
- Field,
21
- Spinner,
22
- Tooltip,
23
- } from '@fluentui/react-components';
24
- import {
25
- Play24Regular,
26
- Code24Regular,
27
- Dismiss24Regular,
28
- Copy24Regular,
29
- ArrowClockwise24Regular,
30
- Checkmark24Regular,
31
- } from '@fluentui/react-icons';
32
- import { FlowQueryExecutor, FlowQueryExecutionResult } from '../utils/FlowQueryExecutor';
33
- import { AdaptiveCardRenderer, isAdaptiveCard } from './AdaptiveCardRenderer';
34
- import './FlowQueryRunner.css';
35
-
36
- const flowQueryExecutor = new FlowQueryExecutor();
37
-
38
- /**
39
- * Extract an Adaptive Card from the execution results.
40
- * Searches for Adaptive Cards at the top level or within any property of result objects.
41
- */
42
- function extractAdaptiveCardFromResults(results: unknown[] | undefined): Record<string, unknown> | undefined {
43
- if (!results || !Array.isArray(results)) {
44
- return undefined;
45
- }
46
-
47
- for (const result of results) {
48
- // Check if the result itself is an Adaptive Card
49
- if (isAdaptiveCard(result)) {
50
- return result;
51
- }
52
-
53
- // Check if any property of the result object is an Adaptive Card
54
- if (typeof result === 'object' && result !== null) {
55
- const obj = result as Record<string, unknown>;
56
- for (const value of Object.values(obj)) {
57
- if (isAdaptiveCard(value)) {
58
- return value as Record<string, unknown>;
59
- }
60
- }
61
- }
62
- }
63
-
64
- return undefined;
65
- }
66
-
67
- interface FlowQueryRunnerProps {
68
- /** Initial query to pre-populate the input */
69
- initialQuery?: string;
70
- /** Controlled open state - if provided, the component becomes controlled */
71
- open?: boolean;
72
- /** Callback when open state changes (for controlled mode) */
73
- onOpenChange?: (open: boolean) => void;
74
- /** Callback when the dialog is closed (deprecated, use onOpenChange) */
75
- onClose?: () => void;
76
- /** Custom trigger element. If not provided, a default button is shown. Not used in controlled mode. */
77
- trigger?: React.ReactElement;
78
- }
79
-
80
- interface FlowQueryRunnerState {
81
- open: boolean;
82
- query: string;
83
- isExecuting: boolean;
84
- result: FlowQueryExecutionResult | null;
85
- copied: boolean;
86
- }
87
-
88
- export class FlowQueryRunner extends Component<FlowQueryRunnerProps, FlowQueryRunnerState> {
89
- constructor(props: FlowQueryRunnerProps) {
90
- super(props);
91
- this.state = {
92
- open: props.open ?? false,
93
- query: props.initialQuery || '',
94
- isExecuting: false,
95
- result: null,
96
- copied: false,
97
- };
98
- }
99
-
100
- componentDidUpdate(prevProps: FlowQueryRunnerProps): void {
101
- // Handle controlled mode: sync open state from props
102
- if (this.props.open !== undefined && this.props.open !== prevProps.open) {
103
- this.setState({ open: this.props.open });
104
- // If opening with a new initial query, update the query
105
- if (this.props.open && this.props.initialQuery !== prevProps.initialQuery) {
106
- this.setState({ query: this.props.initialQuery || '', result: null });
107
- }
108
- }
109
- // Handle initialQuery changes when opening
110
- if (this.props.initialQuery !== prevProps.initialQuery && this.props.open) {
111
- this.setState({ query: this.props.initialQuery || '', result: null });
112
- }
113
- }
114
-
115
- /**
116
- * Check if the component is in controlled mode
117
- */
118
- isControlled = (): boolean => {
119
- return this.props.open !== undefined;
120
- };
121
-
122
- handleOpenChange = (_: unknown, data: { open: boolean }): void => {
123
- if (this.isControlled()) {
124
- // In controlled mode, notify parent
125
- this.props.onOpenChange?.(data.open);
126
- } else {
127
- // In uncontrolled mode, manage state internally
128
- this.setState({ open: data.open });
129
- }
130
-
131
- if (!data.open && this.props.onClose) {
132
- this.props.onClose();
133
- }
134
- };
135
-
136
- handleClose = (): void => {
137
- if (this.isControlled()) {
138
- this.props.onOpenChange?.(false);
139
- } else {
140
- this.setState({ open: false });
141
- }
142
- this.props.onClose?.();
143
- };
144
-
145
- handleQueryChange = (_: unknown, data: { value: string }): void => {
146
- this.setState({ query: data.value });
147
- };
148
-
149
- handleExecute = async (): Promise<void> => {
150
- const { query } = this.state;
151
-
152
- if (!query.trim()) {
153
- return;
154
- }
155
-
156
- this.setState({ isExecuting: true, result: null });
157
-
158
- try {
159
- const result = await flowQueryExecutor.execute(query);
160
- this.setState({ result, isExecuting: false });
161
- } catch (error) {
162
- this.setState({
163
- result: {
164
- success: false,
165
- query,
166
- error: error instanceof Error ? error.message : String(error),
167
- executionTime: 0,
168
- },
169
- isExecuting: false,
170
- });
171
- }
172
- };
173
-
174
- handleClear = (): void => {
175
- this.setState({ query: '', result: null });
176
- };
177
-
178
- handleCopyResults = (): void => {
179
- const { result } = this.state;
180
- if (result?.success && result.results) {
181
- navigator.clipboard.writeText(JSON.stringify(result.results, null, 2));
182
- this.setState({ copied: true });
183
- setTimeout(() => this.setState({ copied: false }), 2000);
184
- }
185
- };
186
-
187
- handleKeyDown = (event: React.KeyboardEvent): void => {
188
- // Execute on Ctrl+Enter or Cmd+Enter
189
- if ((event.ctrlKey || event.metaKey) && event.key === 'Enter') {
190
- event.preventDefault();
191
- this.handleExecute();
192
- }
193
- };
194
-
195
- renderResults(): React.ReactNode {
196
- const { result, isExecuting, copied } = this.state;
197
-
198
- if (isExecuting) {
199
- return (
200
- <div className="flowquery-loading">
201
- <Spinner size="tiny" />
202
- <span>Executing query...</span>
203
- </div>
204
- );
205
- }
206
-
207
- if (!result) {
208
- return (
209
- <div className="flowquery-no-results">
210
- Enter a FlowQuery statement and click Run to see results.
211
- </div>
212
- );
213
- }
214
-
215
- if (!result.success) {
216
- return (
217
- <pre className="flowquery-error">
218
- Error: {result.error}
219
- </pre>
220
- );
221
- }
222
-
223
- const resultCount = result.results?.length || 0;
224
- const resultsJson = JSON.stringify(result.results, null, 2);
225
-
226
- // Check if the result contains an Adaptive Card
227
- const adaptiveCard = extractAdaptiveCardFromResults(result.results);
228
-
229
- return (
230
- <div className="flowquery-results-container">
231
- <div className="flowquery-results-header">
232
- <span className="flowquery-results-count">
233
- {resultCount} result{resultCount !== 1 ? 's' : ''}
234
- {' • '}
235
- {result.executionTime.toFixed(2)}ms
236
- </span>
237
- <Tooltip
238
- content={copied ? "Copied!" : "Copy results"}
239
- relationship="label"
240
- >
241
- <Button
242
- appearance="subtle"
243
- icon={copied ? <Checkmark24Regular /> : <Copy24Regular />}
244
- size="small"
245
- onClick={this.handleCopyResults}
246
- disabled={!result.results?.length}
247
- />
248
- </Tooltip>
249
- </div>
250
- {adaptiveCard ? (
251
- <div className="flowquery-adaptive-card-results">
252
- <AdaptiveCardRenderer card={adaptiveCard} />
253
- </div>
254
- ) : (
255
- <div className="flowquery-results">
256
- <pre className="flowquery-results-content">
257
- {resultsJson}
258
- </pre>
259
- </div>
260
- )}
261
- </div>
262
- );
263
- }
264
-
265
- renderDialogSurface(): React.JSX.Element {
266
- const { query, isExecuting } = this.state;
267
-
268
- return (
269
- <DialogSurface className="flowquery-runner-surface">
270
- <DialogBody>
271
- <DialogTitle
272
- action={
273
- <Button
274
- appearance="subtle"
275
- icon={<Dismiss24Regular />}
276
- onClick={this.handleClose}
277
- />
278
- }
279
- >
280
- FlowQuery Runner
281
- </DialogTitle>
282
- <DialogContent className="flowquery-runner-content">
283
- <div className="flowquery-input-container">
284
- <Field label="FlowQuery Statement">
285
- <Textarea
286
- value={query}
287
- onChange={this.handleQueryChange}
288
- onKeyDown={this.handleKeyDown}
289
- placeholder="Enter your FlowQuery statement here..."
290
- className="flowquery-textarea"
291
- resize="vertical"
292
- />
293
- </Field>
294
- <div className="flowquery-actions">
295
- <Tooltip content="Run query (Ctrl+Enter)" relationship="label">
296
- <Button
297
- appearance="primary"
298
- icon={<Play24Regular />}
299
- onClick={this.handleExecute}
300
- disabled={isExecuting || !query.trim()}
301
- >
302
- Run
303
- </Button>
304
- </Tooltip>
305
- <Tooltip content="Clear query and results" relationship="label">
306
- <Button
307
- appearance="subtle"
308
- icon={<ArrowClockwise24Regular />}
309
- onClick={this.handleClear}
310
- disabled={isExecuting}
311
- >
312
- Clear
313
- </Button>
314
- </Tooltip>
315
- </div>
316
- </div>
317
-
318
- <Field label="Results">
319
- <div className="flowquery-results">
320
- {this.renderResults()}
321
- </div>
322
- </Field>
323
- </DialogContent>
324
- <DialogActions>
325
- <Button
326
- appearance="secondary"
327
- onClick={this.handleClose}
328
- >
329
- Close
330
- </Button>
331
- </DialogActions>
332
- </DialogBody>
333
- </DialogSurface>
334
- );
335
- }
336
-
337
- render(): React.ReactNode {
338
- const { open } = this.state;
339
- const { trigger } = this.props;
340
- const isControlled = this.isControlled();
341
-
342
- // In controlled mode, render dialog without trigger
343
- if (isControlled) {
344
- return (
345
- <Dialog open={open} onOpenChange={this.handleOpenChange}>
346
- {this.renderDialogSurface()}
347
- </Dialog>
348
- );
349
- }
350
-
351
- // In uncontrolled mode, render with trigger
352
- return (
353
- <Dialog open={open} onOpenChange={this.handleOpenChange}>
354
- <DialogTrigger disableButtonEnhancement>
355
- {trigger || (
356
- <Button
357
- appearance="subtle"
358
- icon={<Code24Regular />}
359
- title="FlowQuery Runner"
360
- >
361
- FlowQuery
362
- </Button>
363
- )}
364
- </DialogTrigger>
365
- {this.renderDialogSurface()}
366
- </Dialog>
367
- );
368
- }
369
- }
370
-
371
- export default FlowQueryRunner;
@@ -1,28 +0,0 @@
1
- // Chat components exports
2
- export { ChatContainer } from "./ChatContainer";
3
- export { ChatMessage } from "./ChatMessage";
4
- export { ChatInput } from "./ChatInput";
5
- export { ApiKeySettings } from "./ApiKeySettings";
6
-
7
- // FlowQuery Runner
8
- export { FlowQueryRunner } from "./FlowQueryRunner";
9
-
10
- // Adaptive Card Renderer
11
- export {
12
- AdaptiveCardRenderer,
13
- isAdaptiveCard,
14
- normalizeAdaptiveCard,
15
- } from "./AdaptiveCardRenderer";
16
-
17
- // FlowQuery Agent
18
- export { FlowQueryAgent } from "./FlowQueryAgent";
19
- export type {
20
- AgentStep,
21
- AgentResult,
22
- FlowQueryAgentOptions,
23
- AgentStreamCallback,
24
- } from "./FlowQueryAgent";
25
-
26
- // Types
27
- export type { Message } from "./ChatMessage";
28
- export type { AdaptiveCardRendererProps } from "./AdaptiveCardRenderer";
@@ -1,19 +0,0 @@
1
- /**
2
- * Graph module exports
3
- */
4
- import FlowQuery from "flowquery";
5
-
6
- export { initializeGraph } from "./initializeGraph";
7
-
8
- /**
9
- * Get the graph schema including all node labels and relationship types.
10
- *
11
- * @returns Promise resolving to the graph schema
12
- */
13
- export async function getGraphSchema(): Promise<any> {
14
- const runner = new FlowQuery(
15
- `CALL schema() YIELD kind, label, type, sample RETURN kind, label, type, sample`
16
- );
17
- await runner.run();
18
- return runner.results;
19
- }