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,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
- }