|
35916
|
1342
|
12
|
2026-05-13T13:22:49.454670+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678569454_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
https://app.dev.jiminny.com/playback/f43cf158-e60d
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.079288565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"bounds":{"left":0.0,"top":0.6408619,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"bounds":{"left":0.013297873,"top":0.6520351,"width":0.032247342,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.6735834,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.6847566,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-8276045502391290046
|
6376626286018439252
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny...
|
35913
|
NULL
|
NULL
|
NULL
|
|
35917
|
1341
|
15
|
2026-05-13T13:23:00.713420+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678580713_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
https://app.dev.jiminny.com/playback/f43cf158-e60d
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":4,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-4677356429222980994
|
6376626301187139669
|
click
|
accessibility
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35918
|
1342
|
13
|
2026-05-13T13:23:00.737614+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678580737_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
https://app.dev.jiminny.com/playback/f43cf158-e60d
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Jiminny","depth":4,"bounds":{"left":0.08361037,"top":0.7462091,"width":0.01412899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":4,"bounds":{"left":0.08361037,"top":0.7569832,"width":0.03523936,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.079288565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"bounds":{"left":0.0,"top":0.6408619,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"bounds":{"left":0.013297873,"top":0.6520351,"width":0.032247342,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.6735834,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.6847566,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.70630485,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.71747804,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.7134876,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.7390263,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.7501995,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.7462091,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.773344,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-577870799508216859
|
6376626303198046276
|
click
|
accessibility
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35919
|
1341
|
16
|
2026-05-13T13:23:06.464076+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678586464_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35917
|
NULL
|
NULL
|
NULL
|
|
35920
|
1342
|
14
|
2026-05-13T13:23:06.469139+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678586469_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
1837425836067260207
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35918
|
NULL
|
NULL
|
NULL
|
|
35921
|
1341
|
17
|
2026-05-13T13:23:08.395408+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678588395_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35922
|
1341
|
18
|
2026-05-13T13:23:16.604139+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678596604_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-2343244149218324613
|
-7881077389668029571
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}...
|
35921
|
NULL
|
NULL
|
NULL
|
|
35923
|
1342
|
15
|
2026-05-13T13:23:16.646889+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678596646_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.50265956,"top":0.15003991,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.51396275,"top":0.14844373,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.5212766,"top":0.14844373,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
4957189420353101602
|
-8132360550921819198
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35924
|
1341
|
19
|
2026-05-13T13:23:47.051789+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678627051_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","depth":4,"on_screen":true,"value":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7644424702618419
|
-7004613033495161267
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35925
|
1341
|
20
|
2026-05-13T13:23:47.561337+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678627561_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35924
|
NULL
|
NULL
|
NULL
|
|
35926
|
1342
|
16
|
2026-05-13T13:23:47.563417+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678627563_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
1837425836067260207
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35923
|
NULL
|
NULL
|
NULL
|
|
35927
|
1341
|
21
|
2026-05-13T13:24:18.479313+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678658479_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
https://app.dev.jiminny.com/playback/f43cf158-e60d
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Lukas Kovalik
New SUbject
Adelina Petrova at Robinson Crusoe Cruises Limited
Adelina Petrova at Robinson Crusoe Cruises Limited
|
Contract Sent
|
€455,554
|
90%
Meeting
|
13 Mar, 1:59 PM
CRM
Share
common.ai-icon-alt Ask me anything about this call...
Ask me anything about this call...
Flashback
Flashback
Transcript
Transcript
Themes
Themes
Statistics
Statistics
Questions
Questions
No transcript
This might be due to call being too short
Play Video
Play Video
1x
00:00
/ 01:44
Lukas Kovalik
Coaching
Coaching
Sidekick Notes
Sidekick Notes
Comments
Comments
Framework
Framework
Focus
Focus
Lukas Kovalik
Write Comment
Be first to comment and help your team...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New SUbject","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":14,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"€455,554","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"90%","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13 Mar, 1:59 PM","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CRM","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"common.ai-icon-alt Ask me anything about this call...","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask me anything about this call...","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Flashback","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Flashback","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Transcript","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Transcript","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Themes","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Themes","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Statistics","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Statistics","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Questions","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Questions","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No transcript","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This might be due to call being too short","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":16,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Play Video","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1x","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"00:00","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ 01:44","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Coaching","depth":13,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Coaching","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Sidekick Notes","depth":13,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidekick Notes","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Comments","depth":15,"bounds":{"left":0.5923611,"top":0.0,"width":0.067708336,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Comments","depth":17,"bounds":{"left":0.6027778,"top":0.0,"width":0.046875,"height":0.018888889},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Framework","depth":15,"bounds":{"left":0.66006947,"top":0.0,"width":0.07013889,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Framework","depth":17,"bounds":{"left":0.6704861,"top":0.0,"width":0.049305554,"height":0.018888889},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Focus","depth":15,"bounds":{"left":0.73020834,"top":0.0,"width":0.045833334,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Focus","depth":17,"bounds":{"left":0.740625,"top":0.0,"width":0.025,"height":0.018888889},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"bounds":{"left":0.60347223,"top":0.0,"width":0.034722224,"height":0.04111111},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Write Comment","depth":16,"bounds":{"left":0.6354167,"top":0.0,"width":0.3645833,"height":0.044444446},"on_screen":true,"help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Be first to comment and help your team","depth":16,"bounds":{"left":0.9534722,"top":0.07777778,"width":0.046527803,"height":0.024444444},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
7425903148478859910
|
6358614086535621196
|
idle
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Lukas Kovalik
New SUbject
Adelina Petrova at Robinson Crusoe Cruises Limited
Adelina Petrova at Robinson Crusoe Cruises Limited
|
Contract Sent
|
€455,554
|
90%
Meeting
|
13 Mar, 1:59 PM
CRM
Share
common.ai-icon-alt Ask me anything about this call...
Ask me anything about this call...
Flashback
Flashback
Transcript
Transcript
Themes
Themes
Statistics
Statistics
Questions
Questions
No transcript
This might be due to call being too short
Play Video
Play Video
1x
00:00
/ 01:44
Lukas Kovalik
Coaching
Coaching
Sidekick Notes
Sidekick Notes
Comments
Comments
Framework
Framework
Focus
Focus
Lukas Kovalik
Write Comment
Be first to comment and help your team...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35928
|
1342
|
17
|
2026-05-13T13:24:19.740963+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678659740_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
https://app.dev.jiminny.com/playback/f43cf158-e60d
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Lukas Kovalik
New SUbject
Adelina Petrova at Robinson Crusoe Cruises Limited
Adelina Petrova at Robinson Crusoe Cruises Limited
|
Contract Sent
|
€455,554
|
90%
Meeting
|
13 Mar, 1:59 PM
CRM
Share
common.ai-icon-alt Ask me anything about this call...
Ask me anything about this call...
Flashback
Flashback
Transcript
Transcript
Themes
Themes
Statistics
Statistics
Questions
Questions
No transcript
This might be due to call being too short
Play Video
Play Video
1x
00:00
/ 01:44
Lukas Kovalik
Coaching
Coaching
Sidekick Notes
Sidekick Notes
Comments
Comments
Framework
Framework
Focus
Focus
Lukas Kovalik
Write Comment
Be first to comment and help your team...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Jiminny","depth":4,"bounds":{"left":0.08361037,"top":0.7134876,"width":0.01412899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":4,"bounds":{"left":0.08361037,"top":0.72426176,"width":0.03523936,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.079288565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"bounds":{"left":0.0,"top":0.6408619,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"bounds":{"left":0.013297873,"top":0.6520351,"width":0.032247342,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.6735834,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.6847566,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.70630485,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.71747804,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.7134876,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.7406225,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":16,"bounds":{"left":0.107546546,"top":0.06464485,"width":0.013131649,"height":0.023942538},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New SUbject","depth":15,"bounds":{"left":0.11951463,"top":0.06703911,"width":0.03507314,"height":0.017557861},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":14,"bounds":{"left":0.107546546,"top":0.090183556,"width":0.12400266,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":16,"bounds":{"left":0.1143617,"top":0.090183556,"width":0.11020612,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"bounds":{"left":0.23387633,"top":0.101356745,"width":0.0013297872,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":15,"bounds":{"left":0.23620346,"top":0.090183556,"width":0.029421542,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"bounds":{"left":0.2679521,"top":0.101356745,"width":0.0013297872,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"€455,554","depth":15,"bounds":{"left":0.27027926,"top":0.090183556,"width":0.020279255,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"bounds":{"left":0.29288563,"top":0.101356745,"width":0.0013297872,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"90%","depth":15,"bounds":{"left":0.29521278,"top":0.090183556,"width":0.009142287,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":15,"bounds":{"left":0.107546546,"top":0.10694334,"width":0.017287234,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"bounds":{"left":0.1271609,"top":0.11811652,"width":0.0014960107,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13 Mar, 1:59 PM","depth":15,"bounds":{"left":0.13730054,"top":0.10694334,"width":0.034242023,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CRM","depth":14,"bounds":{"left":0.85106385,"top":0.07821229,"width":0.028756648,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share","depth":14,"bounds":{"left":0.88248,"top":0.07821229,"width":0.037732713,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"common.ai-icon-alt Ask me anything about this call...","depth":12,"bounds":{"left":0.107546546,"top":0.14285715,"width":0.4396609,"height":0.03671189},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask me anything about this call...","depth":13,"bounds":{"left":0.12516622,"top":0.15442938,"width":0.0653258,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Flashback","depth":14,"bounds":{"left":0.107546546,"top":0.18914606,"width":0.03939495,"height":0.03830806},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Flashback","depth":16,"bounds":{"left":0.121509306,"top":0.20151636,"width":0.02044548,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Transcript","depth":14,"bounds":{"left":0.14694148,"top":0.18914606,"width":0.040392287,"height":0.03830806},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Transcript","depth":16,"bounds":{"left":0.16090426,"top":0.20151636,"width":0.02144282,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Themes","depth":14,"bounds":{"left":0.18733378,"top":0.18914606,"width":0.03507314,"height":0.03830806},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Themes","depth":16,"bounds":{"left":0.20129654,"top":0.20151636,"width":0.016123671,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Statistics","depth":14,"bounds":{"left":0.22240691,"top":0.18914606,"width":0.03756649,"height":0.03830806},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Statistics","depth":16,"bounds":{"left":0.23636968,"top":0.20151636,"width":0.01861702,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Questions","depth":14,"bounds":{"left":0.2599734,"top":0.18914606,"width":0.039727394,"height":0.03830806},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Questions","depth":16,"bounds":{"left":0.27393618,"top":0.20151636,"width":0.020777926,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No transcript","depth":16,"bounds":{"left":0.31133643,"top":0.40542698,"width":0.032081116,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This might be due to call being too short","depth":16,"bounds":{"left":0.2862367,"top":0.42897046,"width":0.08211436,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Play Video","depth":16,"bounds":{"left":0.5571808,"top":0.15083799,"width":0.019946808,"height":0.023942538},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Play Video","depth":18,"bounds":{"left":0.5671542,"top":0.16520351,"width":0.017121011,"height":0.04349561},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1x","depth":20,"bounds":{"left":0.5621675,"top":0.7689545,"width":0.004488032,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"00:00","depth":17,"bounds":{"left":0.75947475,"top":0.8036712,"width":0.012300532,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ 01:44","depth":18,"bounds":{"left":0.77177525,"top":0.8036712,"width":0.015791224,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":22,"bounds":{"left":0.55917555,"top":0.82721466,"width":0.011136968,"height":0.019952115},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Coaching","depth":13,"bounds":{"left":0.5538564,"top":0.896249,"width":0.038231384,"height":0.03830806},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Coaching","depth":15,"bounds":{"left":0.5678192,"top":0.9086193,"width":0.019281914,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Sidekick Notes","depth":13,"bounds":{"left":0.59208775,"top":0.896249,"width":0.04920213,"height":0.03830806},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidekick Notes","depth":15,"bounds":{"left":0.60605055,"top":0.9086193,"width":0.03025266,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Comments","depth":15,"bounds":{"left":0.5538564,"top":0.9345571,"width":0.032413565,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Comments","depth":17,"bounds":{"left":0.5588431,"top":0.94373506,"width":0.02244016,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Framework","depth":15,"bounds":{"left":0.58627,"top":0.9345571,"width":0.03357713,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Framework","depth":17,"bounds":{"left":0.5912567,"top":0.94373506,"width":0.023603724,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Focus","depth":15,"bounds":{"left":0.61984706,"top":0.9345571,"width":0.021941489,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Focus","depth":17,"bounds":{"left":0.62483376,"top":0.94373506,"width":0.011968086,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"bounds":{"left":0.55917555,"top":0.9792498,"width":0.01662234,"height":0.020750225},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Write Comment","depth":16,"bounds":{"left":0.5744681,"top":0.9792498,"width":0.41356382,"height":0.020750225},"on_screen":true,"help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Be first to comment and help your team","depth":16,"bounds":{"left":0.72672874,"top":1.0,"width":0.10405585,"height":-0.055865884},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8066338300342925303
|
6358612987019799116
|
idle
|
accessibility
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Lukas Kovalik
New SUbject
Adelina Petrova at Robinson Crusoe Cruises Limited
Adelina Petrova at Robinson Crusoe Cruises Limited
|
Contract Sent
|
€455,554
|
90%
Meeting
|
13 Mar, 1:59 PM
CRM
Share
common.ai-icon-alt Ask me anything about this call...
Ask me anything about this call...
Flashback
Flashback
Transcript
Transcript
Themes
Themes
Statistics
Statistics
Questions
Questions
No transcript
This might be due to call being too short
Play Video
Play Video
1x
00:00
/ 01:44
Lukas Kovalik
Coaching
Coaching
Sidekick Notes
Sidekick Notes
Comments
Comments
Framework
Framework
Focus
Focus
Lukas Kovalik
Write Comment
Be first to comment and help your team...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35929
|
1341
|
22
|
2026-05-13T13:24:20.459161+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678660459_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Lukas Kovalik
New SUbject
Adelina Petrova at Robinson Crusoe Cruises Limited
Adelina Petrova at Robinson Crusoe Cruises Limited
|
Contract Sent
|
€455,554
|
90%
Meeting
|
13 Mar, 1:59 PM
CRM
Share
common.ai-icon-alt Ask me anything about this call...
Ask me anything about this call......
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":4,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New SUbject","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":14,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"€455,554","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"90%","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13 Mar, 1:59 PM","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CRM","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"common.ai-icon-alt Ask me anything about this call...","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask me anything about this call...","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
350683321416895353
|
6358612987024517188
|
click
|
accessibility
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Lukas Kovalik
New SUbject
Adelina Petrova at Robinson Crusoe Cruises Limited
Adelina Petrova at Robinson Crusoe Cruises Limited
|
Contract Sent
|
€455,554
|
90%
Meeting
|
13 Mar, 1:59 PM
CRM
Share
common.ai-icon-alt Ask me anything about this call...
Ask me anything about this call......
|
35927
|
NULL
|
NULL
|
NULL
|
|
35930
|
1342
|
18
|
2026-05-13T13:24:20.461986+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678660461_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Lukas Kovalik
New SUbject
Adelina Petrova at Robinson Crusoe Cruises Limited
Adelina Petrova at Robinson Crusoe Cruises Limited
|
Contract Sent
|
€455,554
|
90%
Meeting
|
13 Mar, 1:59 PM
CRM
Share...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Jiminny","depth":4,"bounds":{"left":0.08361037,"top":0.7134876,"width":0.01412899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":4,"bounds":{"left":0.08361037,"top":0.72426176,"width":0.03523936,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.079288565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"bounds":{"left":0.0,"top":0.6408619,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"bounds":{"left":0.013297873,"top":0.6520351,"width":0.032247342,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.6735834,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.6847566,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.70630485,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.71747804,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.7134876,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.7406225,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":16,"bounds":{"left":0.107546546,"top":0.06464485,"width":0.013131649,"height":0.023942538},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New SUbject","depth":15,"bounds":{"left":0.11951463,"top":0.06703911,"width":0.03507314,"height":0.017557861},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":14,"bounds":{"left":0.107546546,"top":0.090183556,"width":0.12400266,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":16,"bounds":{"left":0.1143617,"top":0.090183556,"width":0.11020612,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"bounds":{"left":0.23387633,"top":0.101356745,"width":0.0013297872,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":15,"bounds":{"left":0.23620346,"top":0.090183556,"width":0.029421542,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"bounds":{"left":0.2679521,"top":0.101356745,"width":0.0013297872,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"€455,554","depth":15,"bounds":{"left":0.27027926,"top":0.090183556,"width":0.020279255,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"bounds":{"left":0.29288563,"top":0.101356745,"width":0.0013297872,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"90%","depth":15,"bounds":{"left":0.29521278,"top":0.090183556,"width":0.009142287,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":15,"bounds":{"left":0.107546546,"top":0.10694334,"width":0.017287234,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"|","depth":15,"bounds":{"left":0.1271609,"top":0.11811652,"width":0.0014960107,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13 Mar, 1:59 PM","depth":15,"bounds":{"left":0.13730054,"top":0.10694334,"width":0.034242023,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CRM","depth":14,"bounds":{"left":0.85106385,"top":0.07821229,"width":0.028756648,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share","depth":14,"bounds":{"left":0.88248,"top":0.07821229,"width":0.037732713,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-2206641534936844108
|
6358615183896095300
|
click
|
accessibility
|
NULL
|
Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage Jiminny
app.dev.jiminny.com
Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Lukas Kovalik
New SUbject
Adelina Petrova at Robinson Crusoe Cruises Limited
Adelina Petrova at Robinson Crusoe Cruises Limited
|
Contract Sent
|
€455,554
|
90%
Meeting
|
13 Mar, 1:59 PM
CRM
Share...
|
35928
|
NULL
|
NULL
|
NULL
|
|
35931
|
1341
|
23
|
2026-05-13T13:24:33.606589+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678673606_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
3282727660807053209
|
-9033998894274884739
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35932
|
1342
|
19
|
2026-05-13T13:24:33.619347+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678673619_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.50265956,"top":0.15003991,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.51396275,"top":0.14844373,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.5212766,"top":0.14844373,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.5299202,"top":0.074221864,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-3459108418915007581
|
-7881077389668029571
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35933
|
1341
|
24
|
2026-05-13T13:24:36.177013+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678676177_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","depth":4,"on_screen":true,"value":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7644424702618419
|
-7004613033495161267
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35931
|
NULL
|
NULL
|
NULL
|
|
35934
|
1342
|
20
|
2026-05-13T13:24:36.174282+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678676174_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"bounds":{"left":0.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"bounds":{"left":0.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"bounds":{"left":0.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"bounds":{"left":0.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"bounds":{"left":0.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"bounds":{"left":0.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"bounds":{"left":0.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20","depth":4,"bounds":{"left":0.6712101,"top":0.123703115,"width":0.010305851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.68351066,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"bounds":{"left":0.6928192,"top":0.123703115,"width":0.00930851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.70412236,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":4,"bounds":{"left":0.7140958,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.73105055,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","depth":4,"on_screen":true,"value":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7644424702618419
|
-7004613033495161267
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35932
|
NULL
|
NULL
|
NULL
|
|
35935
|
1341
|
25
|
2026-05-13T13:24:41.426+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678681426_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","depth":4,"on_screen":true,"value":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
4661973279792415384
|
-7004613034568903091
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35936
|
1342
|
21
|
2026-05-13T13:24:41.457493+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678681457_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"bounds":{"left":0.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"bounds":{"left":0.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"bounds":{"left":0.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"bounds":{"left":0.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"bounds":{"left":0.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"bounds":{"left":0.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"bounds":{"left":0.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20","depth":4,"bounds":{"left":0.6712101,"top":0.123703115,"width":0.010305851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.68351066,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"bounds":{"left":0.6928192,"top":0.123703115,"width":0.00930851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.70412236,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"}]...
|
25684516435480125
|
-9033998894274884739
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35937
|
1341
|
26
|
2026-05-13T13:25:00.401045+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678700401_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35935
|
NULL
|
NULL
|
NULL
|
|
35938
|
1342
|
22
|
2026-05-13T13:25:00.406069+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678700406_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
1837425836067260207
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35936
|
NULL
|
NULL
|
NULL
|
|
35939
|
1341
|
27
|
2026-05-13T13:25:01.494745+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678701494_m1.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35940
|
1341
|
28
|
2026-05-13T13:25:03.499158+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678703499_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
1636466358099017845
|
-7881077389668029571
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto...
|
35939
|
NULL
|
NULL
|
NULL
|
|
35941
|
1342
|
23
|
2026-05-13T13:25:03.465209+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678703465_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-2343244149218324613
|
-7881077389668029571
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35942
|
1341
|
29
|
2026-05-13T13:25:05.702946+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678705702_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","depth":4,"on_screen":true,"value":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7644424702618419
|
-7004613033495161267
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35943
|
1342
|
24
|
2026-05-13T13:25:05.702972+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678705702_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"bounds":{"left":0.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"bounds":{"left":0.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"bounds":{"left":0.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"bounds":{"left":0.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"bounds":{"left":0.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"bounds":{"left":0.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"bounds":{"left":0.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20","depth":4,"bounds":{"left":0.6712101,"top":0.123703115,"width":0.010305851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.68351066,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"bounds":{"left":0.6928192,"top":0.123703115,"width":0.00930851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.70412236,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":4,"bounds":{"left":0.7140958,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.73105055,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","depth":4,"on_screen":true,"value":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7644424702618419
|
-7004613033495161267
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
35941
|
NULL
|
NULL
|
NULL
|
|
35944
|
1341
|
30
|
2026-05-13T13:25:07.704284+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678707704_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-8820308511646877981
|
-7196540777719685949
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35942
|
NULL
|
NULL
|
NULL
|
|
35945
|
1342
|
25
|
2026-05-13T13:25:07.698612+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678707698_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-6806836429312449700
|
-8204352174203622462
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35946
|
1341
|
31
|
2026-05-13T13:25:09.188100+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678709188_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","depth":4,"on_screen":true,"value":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-5839616706868510148
|
-7004613034568903091
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35947
|
NULL
|
0
|
2026-05-13T13:25:25.886793+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678725886_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"}]...
|
7130865360800391539
|
-8132290182084580414
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
35946
|
NULL
|
NULL
|
NULL
|
|
35948
|
NULL
|
0
|
2026-05-13T13:25:25.886746+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678725886_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-3217526785416111167
|
-8132290182084711486
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
35945
|
NULL
|
NULL
|
NULL
|
|
35949
|
1343
|
0
|
2026-05-13T13:25:35.317512+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678735317_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35950
|
1344
|
0
|
2026-05-13T13:25:35.338945+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678735338_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
1837425836067260207
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35951
|
1343
|
1
|
2026-05-13T13:26:06.275989+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678766275_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Lukas Kovalik
Adelina Petrova at Robinson Crusoe Cruises Limited
New SUbject
Meeting
Contract Sent
13 Mar, 1:59 PM
Lukas Kovalik
Musaibe at Robinson Crusoe Cruises Limited
Some subject
Call
Contract Sent
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Inbound call from 07723 466018
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Ceco Personal at Robinson Crusoe Cruises Limited
Notetaker added on 12-16-22 @ 14:04
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Esther Rüffer at Twilio Video
Call RMf4643e18995e3d59d914965f38770978
Proposal
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Laura Bennett at SkyWave Solutions
test
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Notetaker added on 03-28-23 @ 13:03
Meeting Event
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
My Meeting Zoom
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
test without prospect
Meeting
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Lukas Contact at Eset LLC
testing
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Google Provider!
19 Dec, 2025, 12:30 PM...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New SUbject","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13 Mar, 1:59 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Musaibe at Robinson Crusoe Cruises Limited","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some subject","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Call","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Inbound call from 07723 466018","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ceco Personal at Robinson Crusoe Cruises Limited","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notetaker added on 12-16-22 @ 14:04","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Esther Rüffer at Twilio Video","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Call RMf4643e18995e3d59d914965f38770978","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proposal","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Laura Bennett at SkyWave Solutions","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"test","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting Event","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Solution Presented","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notetaker added on 03-28-23 @ 13:03","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting Event","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"My Meeting Zoom","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"test without prospect","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Contact at Eset LLC","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"testing","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting Event","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Solution Presented","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Google Provider!","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
4419520546979238665
|
6069805501169685022
|
idle
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Lukas Kovalik
Adelina Petrova at Robinson Crusoe Cruises Limited
New SUbject
Meeting
Contract Sent
13 Mar, 1:59 PM
Lukas Kovalik
Musaibe at Robinson Crusoe Cruises Limited
Some subject
Call
Contract Sent
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Inbound call from 07723 466018
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Ceco Personal at Robinson Crusoe Cruises Limited
Notetaker added on 12-16-22 @ 14:04
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Esther Rüffer at Twilio Video
Call RMf4643e18995e3d59d914965f38770978
Proposal
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Laura Bennett at SkyWave Solutions
test
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Notetaker added on 03-28-23 @ 13:03
Meeting Event
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
My Meeting Zoom
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
test without prospect
Meeting
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Lukas Contact at Eset LLC
testing
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Google Provider!
19 Dec, 2025, 12:30 PM...
|
35949
|
NULL
|
NULL
|
NULL
|
|
35952
|
1344
|
1
|
2026-05-13T13:26:07.300097+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678767300_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Lukas Kovalik
Adelina Petrova at Robinson Crusoe Cruises Limited
New SUbject
Meeting
Contract Sent
13 Mar, 1:59 PM
Lukas Kovalik
Musaibe at Robinson Crusoe Cruises Limited
Some subject
Call
Contract Sent
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Inbound call from 07723 466018
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Ceco Personal at Robinson Crusoe Cruises Limited
Notetaker added on 12-16-22 @ 14:04
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Esther Rüffer at Twilio Video
Call RMf4643e18995e3d59d914965f38770978
Proposal
19 Dec, 2025, 12:30 PM...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.079288565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"bounds":{"left":0.0,"top":0.6408619,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"bounds":{"left":0.013297873,"top":0.6520351,"width":0.032247342,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.6735834,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.6847566,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.68076617,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.70790106,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"bounds":{"left":0.118351065,"top":0.07182761,"width":0.039893616,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"bounds":{"left":0.12101064,"top":0.0905826,"width":0.034574468,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"bounds":{"left":0.15824468,"top":0.07182761,"width":0.044714097,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"bounds":{"left":0.16090426,"top":0.0905826,"width":0.03939495,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"bounds":{"left":0.20295878,"top":0.07182761,"width":0.057513297,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"bounds":{"left":0.20561835,"top":0.0905826,"width":0.05219415,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.1735834,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":17,"bounds":{"left":0.1341423,"top":0.14684756,"width":0.100398935,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New SUbject","depth":17,"bounds":{"left":0.1341423,"top":0.16640064,"width":0.025099734,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"bounds":{"left":0.1341423,"top":0.1859537,"width":0.016123671,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":17,"bounds":{"left":0.1341423,"top":0.20550679,"width":0.026928192,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13 Mar, 1:59 PM","depth":17,"bounds":{"left":0.1341423,"top":0.22505985,"width":0.031914894,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.30007982,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Musaibe at Robinson Crusoe Cruises Limited","depth":17,"bounds":{"left":0.1341423,"top":0.27334398,"width":0.08610372,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some subject","depth":17,"bounds":{"left":0.1341423,"top":0.29289705,"width":0.025598405,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Call","depth":17,"bounds":{"left":0.1341423,"top":0.3124501,"width":0.007480053,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":17,"bounds":{"left":0.1341423,"top":0.3320032,"width":0.026928192,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.35155627,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.40702313,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"bounds":{"left":0.1341423,"top":0.39984038,"width":0.03873005,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Inbound call from 07723 466018","depth":18,"bounds":{"left":0.1341423,"top":0.41939345,"width":0.06349734,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.43894652,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.4944134,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ceco Personal at Robinson Crusoe Cruises Limited","depth":17,"bounds":{"left":0.1341423,"top":0.48723066,"width":0.09707447,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notetaker added on 12-16-22 @ 14:04","depth":18,"bounds":{"left":0.1341423,"top":0.5067837,"width":0.07446808,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.5263368,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.5913807,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Esther Rüffer at Twilio Video","depth":17,"bounds":{"left":0.1341423,"top":0.5746209,"width":0.055352394,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Call RMf4643e18995e3d59d914965f38770978","depth":17,"bounds":{"left":0.1341423,"top":0.59417397,"width":0.094082445,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proposal","depth":17,"bounds":{"left":0.1341423,"top":0.61372703,"width":0.017121011,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.6332801,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-3157759660280373724
|
6358612024903733836
|
idle
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Lukas Kovalik
Adelina Petrova at Robinson Crusoe Cruises Limited
New SUbject
Meeting
Contract Sent
13 Mar, 1:59 PM
Lukas Kovalik
Musaibe at Robinson Crusoe Cruises Limited
Some subject
Call
Contract Sent
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Inbound call from 07723 466018
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Ceco Personal at Robinson Crusoe Cruises Limited
Notetaker added on 12-16-22 @ 14:04
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Esther Rüffer at Twilio Video
Call RMf4643e18995e3d59d914965f38770978
Proposal
19 Dec, 2025, 12:30 PM...
|
35950
|
NULL
|
NULL
|
NULL
|
|
35953
|
1343
|
2
|
2026-05-13T13:26:13.556823+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678773556_m1.jpg...
|
iTerm2
|
DEV (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny#
What's next root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at https://docs.docker.com/go/debug-cli/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-improve-sms-text-relays) $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (-zsh)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-improve-sms-text-relays) $","depth":4,"bounds":{"left":0.0,"top":0.08777778,"width":1.0,"height":0.9022222},"on_screen":true,"lines":[{"char_start":0,"char_count":35,"bounds":{"left":0.0034722222,"top":0.08777778,"width":0.19444445,"height":0.02}},{"char_start":35,"char_count":13,"bounds":{"left":0.0034722222,"top":0.107777774,"width":0.072222225,"height":0.02}},{"char_start":48,"char_count":116,"bounds":{"left":0.0034722222,"top":0.12777779,"width":0.64444447,"height":0.02}},{"char_start":164,"char_count":56,"bounds":{"left":0.0034722222,"top":0.14777778,"width":0.31111112,"height":0.02}},{"char_start":220,"char_count":91,"bounds":{"left":0.0034722222,"top":0.16777778,"width":0.50555557,"height":0.02}}],"value":"root@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-improve-sms-text-relays) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.14097223,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.14097223,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.14513889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.28159723,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.2857639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.42222223,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4263889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5628472,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.56701386,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.7034722,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.70763886,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.8440972,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.84826386,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95625,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (-zsh)","depth":1,"bounds":{"left":0.475,"top":0.033333335,"width":0.052083332,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-4299141426817564388
|
-6436597781866272083
|
click
|
accessibility
|
NULL
|
root@docker_lamp_1:/home/jiminny#
What's next root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at https://docs.docker.com/go/debug-cli/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-improve-sms-text-relays) $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (-zsh)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35954
|
1344
|
2
|
2026-05-13T13:26:13.556801+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678773556_m2.jpg...
|
iTerm2
|
DEV (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny#
What's next root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at https://docs.docker.com/go/debug-cli/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-improve-sms-text-relays) $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (-zsh)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-improve-sms-text-relays) $","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.4793883,"height":-0.06304872},"on_screen":true,"value":"root@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-improve-sms-text-relays) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.0674867,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.33776596,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33976063,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.40508643,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.40708113,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.47240692,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4744016,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5397274,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.54172206,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.60704786,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6090425,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6743683,"top":1.0,"width":0.06732048,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.67636305,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7280585,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (-zsh)","depth":1,"bounds":{"left":0.4976729,"top":1.0,"width":0.024933511,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-4299141426817564388
|
-6436597781866272083
|
click
|
accessibility
|
NULL
|
root@docker_lamp_1:/home/jiminny#
What's next root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at https://docs.docker.com/go/debug-cli/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-improve-sms-text-relays) $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (-zsh)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35955
|
1344
|
3
|
2026-05-13T13:26:44.112404+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678804112_m2.jpg...
|
Alfred
|
Alfred
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
upd
<?php
declare(strict_types=1);
namespace upd
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use DB;
use Illuminate\Console\Command;
/**
* Class JiminnyDebugCommand
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
protected $signature = 'jiminny:debug';
public function handle(): void
{
$feature = "SIDEKICK_SETTINGS";
DB::table('team_features')->insert([
'team_id' => 1,
'feature' => $feature,
'created_at' => '2022-12-07 09:03:30',
'updated_at' => '2022-12-07 09:03:30',
]);
$this->line('this is a debug tool');
exit(1);
}
}...
|
[{"role":"AXTextField","text [{"role":"AXTextField","text":"upd","depth":1,"on_screen":true,"value":"upd","role_description":"text field","is_enabled":true,"is_focused":true},{"role":"AXStaticText","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Console\\Commands;\n\nuse DB;\nuse Illuminate\\Console\\Command;\n\n/**\n * Class JiminnyDebugCommand\n * @package Jiminny\\Console\\Commands\n */\nclass JiminnyDebugCommand extends Command\n{\n protected $signature = 'jiminny:debug';\n\n public function handle(): void\n {\n $feature = \"SIDEKICK_SETTINGS\";\n\n DB::table('team_features')->insert([\n 'team_id' => 1,\n 'feature' => $feature,\n 'created_at' => '2022-12-07 09:03:30',\n 'updated_at' => '2022-12-07 09:03:30',\n ]);\n\n $this->line('this is a debug tool');\n exit(1);\n }\n}","depth":1,"on_screen":true,"role_description":"text"}]...
|
4029800067561271979
|
-3337444205045466354
|
idle
|
accessibility
|
NULL
|
upd
<?php
declare(strict_types=1);
namespace upd
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use DB;
use Illuminate\Console\Command;
/**
* Class JiminnyDebugCommand
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
protected $signature = 'jiminny:debug';
public function handle(): void
{
$feature = "SIDEKICK_SETTINGS";
DB::table('team_features')->insert([
'team_id' => 1,
'feature' => $feature,
'created_at' => '2022-12-07 09:03:30',
'updated_at' => '2022-12-07 09:03:30',
]);
$this->line('this is a debug tool');
exit(1);
}
}...
|
35954
|
NULL
|
NULL
|
NULL
|
|
35956
|
1343
|
3
|
2026-05-13T13:26:44.148331+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678804148_m1.jpg...
|
Alfred
|
Alfred
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
upda
<?php
declare(strict_types=1);
namespace upda
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use DB;
use Illuminate\Console\Command;
/**
* Class JiminnyDebugCommand
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
protected $signature = 'jiminny:debug';
public function handle(): void
{
$feature = "SIDEKICK_SETTINGS";
DB::table('team_features')->insert([
'team_id' => 1,
'feature' => $feature,
'created_at' => '2022-12-07 09:03:30',
'updated_at' => '2022-12-07 09:03:30',
]);
$this->line('this is a debug tool');
exit(1);
}
}...
|
[{"role":"AXTextField","text [{"role":"AXTextField","text":"upda","depth":1,"bounds":{"left":0.25972223,"top":0.16777778,"width":0.48055556,"height":0.033333335},"on_screen":true,"value":"upda","role_description":"text field","is_enabled":true,"is_focused":true},{"role":"AXStaticText","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Console\\Commands;\n\nuse DB;\nuse Illuminate\\Console\\Command;\n\n/**\n * Class JiminnyDebugCommand\n * @package Jiminny\\Console\\Commands\n */\nclass JiminnyDebugCommand extends Command\n{\n protected $signature = 'jiminny:debug';\n\n public function handle(): void\n {\n $feature = \"SIDEKICK_SETTINGS\";\n\n DB::table('team_features')->insert([\n 'team_id' => 1,\n 'feature' => $feature,\n 'created_at' => '2022-12-07 09:03:30',\n 'updated_at' => '2022-12-07 09:03:30',\n ]);\n\n $this->line('this is a debug tool');\n exit(1);\n }\n}","depth":1,"bounds":{"left":0.5034722,"top":0.21111111,"width":0.23958333,"height":0.37666667},"on_screen":true,"lines":[{"char_start":0,"char_count":6,"bounds":{"left":0.5048611,"top":0.21111111,"width":0.23680556,"height":0.015555556}},{"char_start":6,"char_count":1,"bounds":{"left":0.5048611,"top":0.22666667,"width":0.23680556,"height":0.015555556}},{"char_start":7,"char_count":25,"bounds":{"left":0.5048611,"top":0.24222222,"width":0.23680556,"height":0.015555556}},{"char_start":32,"char_count":1,"bounds":{"left":0.5048611,"top":0.25777778,"width":0.23680556,"height":0.015555556}},{"char_start":33,"char_count":36,"bounds":{"left":0.5048611,"top":0.27333334,"width":0.23680556,"height":0.015555556}},{"char_start":69,"char_count":1,"bounds":{"left":0.5048611,"top":0.2888889,"width":0.23680556,"height":0.015555556}},{"char_start":70,"char_count":8,"bounds":{"left":0.5048611,"top":0.30444443,"width":0.23680556,"height":0.015555556}},{"char_start":78,"char_count":32,"bounds":{"left":0.5048611,"top":0.32,"width":0.23680556,"height":0.015555556}},{"char_start":110,"char_count":1,"bounds":{"left":0.5048611,"top":0.33555555,"width":0.23680556,"height":0.015555556}},{"char_start":111,"char_count":4,"bounds":{"left":0.5048611,"top":0.3511111,"width":0.23680556,"height":0.015555556}},{"char_start":115,"char_count":29,"bounds":{"left":0.5048611,"top":0.36666667,"width":0.23680556,"height":0.015555556}},{"char_start":144,"char_count":37,"bounds":{"left":0.5048611,"top":0.38222224,"width":0.23680556,"height":0.015555556}},{"char_start":181,"char_count":4,"bounds":{"left":0.5048611,"top":0.39777777,"width":0.23680556,"height":0.015555556}},{"char_start":185,"char_count":42,"bounds":{"left":0.5048611,"top":0.41333333,"width":0.23680556,"height":0.015555556}},{"char_start":227,"char_count":2,"bounds":{"left":0.5048611,"top":0.4288889,"width":0.23680556,"height":0.015555556}},{"char_start":229,"char_count":44,"bounds":{"left":0.5048611,"top":0.44444445,"width":0.23680556,"height":0.015555556}},{"char_start":273,"char_count":1,"bounds":{"left":0.5048611,"top":0.46,"width":0.23680556,"height":0.015555556}},{"char_start":274,"char_count":35,"bounds":{"left":0.5048611,"top":0.47555557,"width":0.23680556,"height":0.015555556}},{"char_start":309,"char_count":6,"bounds":{"left":0.5048611,"top":0.4911111,"width":0.23680556,"height":0.015555556}},{"char_start":315,"char_count":40,"bounds":{"left":0.5048611,"top":0.50666666,"width":0.23680556,"height":0.015555556}},{"char_start":355,"char_count":1,"bounds":{"left":0.5048611,"top":0.5222222,"width":0.23680556,"height":0.015555556}},{"char_start":356,"char_count":45,"bounds":{"left":0.5048611,"top":0.5377778,"width":0.23680556,"height":0.015555556}},{"char_start":401,"char_count":28,"bounds":{"left":0.5048611,"top":0.55333334,"width":0.23680556,"height":0.015555556}},{"char_start":429,"char_count":35,"bounds":{"left":0.5048611,"top":0.5688889,"width":0.23680556,"height":0.015555556}},{"char_start":464,"char_count":51,"bounds":{"left":0.5048611,"top":0.58444446,"width":0.23680556,"height":0.015555556}},{"char_start":515,"char_count":51,"bounds":{"left":0.5048611,"top":0.6,"width":0.23680556,"height":0.015555556}},{"char_start":566,"char_count":12,"bounds":{"left":0.5048611,"top":0.6155556,"width":0.23680556,"height":0.015555556}},{"char_start":578,"char_count":1,"bounds":{"left":0.5048611,"top":0.6311111,"width":0.23680556,"height":0.015555556}},{"char_start":579,"char_count":45,"bounds":{"left":0.5048611,"top":0.64666665,"width":0.23680556,"height":0.015555556}},{"char_start":624,"char_count":24,"bounds":{"left":0.5048611,"top":0.6622222,"width":0.23680556,"height":0.046666667}}],"role_description":"text"}]...
|
7227777063931984030
|
-3337444205041272050
|
idle
|
accessibility
|
NULL
|
upda
<?php
declare(strict_types=1);
namespace upda
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use DB;
use Illuminate\Console\Command;
/**
* Class JiminnyDebugCommand
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
protected $signature = 'jiminny:debug';
public function handle(): void
{
$feature = "SIDEKICK_SETTINGS";
DB::table('team_features')->insert([
'team_id' => 1,
'feature' => $feature,
'created_at' => '2022-12-07 09:03:30',
'updated_at' => '2022-12-07 09:03:30',
]);
$this->line('this is a debug tool');
exit(1);
}
}...
|
35953
|
NULL
|
NULL
|
NULL
|
|
35957
|
1343
|
4
|
2026-05-13T13:26:47.310423+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678807310_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
5725358035782193467
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lыlec2-user@ip-10-30-129-190:~883-zshSprint Review - in 27 mA100% C8• Wed 13 May 15:33:40181DOCKERC *1DEV (docker)Last login: Wed May 13 09:16:21 on ttys010982APP (-zsh)84screenpipe"• ₴5Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ssh jiminny-prod-ecs1 -L 7970:vpc-activities7g-t6nxe5qk7zis7pa5i7qlmp3zwm.us-east-2.es.amazonaws.com:80Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.A newer release of "Amazon Linux" is available.Version 2023.10.20260330:Version 2023.11.20260406:Version 2023.11.20260413:Version 2023.11.20260427:Version 2023.11.20260505:Version 2023.11.20260509:Run "/usr/bin/dnf check-release-update" for full release and version update info#_####_\_#####\\###|\#/v~'Amazon Linux 2023 (ECS Optimized)ec2-user@ip-10-30-129-190:~ (. 26Im/*Fordocumentation,visit [URL_WITH_CREDENTIALS] ~]$ ||...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35958
|
1344
|
4
|
2026-05-13T13:26:47.318178+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678807318_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
1837425836067260207
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY PhostormVIewINavigareCodeKeractorFV faVsco.js°9 JY-20891-improve-sms-text-relaysProledey© MailboxController.phpM MakefileJ package-lock.json= phpstan.neon.dist= phpstan-baseline.neon<> phpunit.xmlTaraw_sqL_query.sqMLPEADME mdC) TextRelayService.onp© Sso.phpossocontroller.ong© TextMessa©smsmessage.ong© SmsLength.php© TextRelay.phpService/Search.php x © ActivityStatusin.phpclass SearchM A10 A V< sonar-project.propertiesE test.py‹› Untitea Diagram.Xmiis vetur.config.jsM+ WEBHOOK_FILTERING_IMPLEM› ih External Librariesv E° Scratches and Consolesv C Database ConsolesV AEU& console EUl& DEALRISKS EUIA DI (EU)AEUEUvdiminnv@localhostA console fiminnv@localho# DI lliminnv@localhost4 HS local fiminnv@localhd4 SF [jiminny@localhost]Azoho dev fiminnvalocall• DROn# concole [ROnll# concole 1 [pponlA DI (PRODI› AQAЛAAI› A QAI PRODA STAGINGA console [STAGINGIA console 1 [STAGING]& uranus STAGING> C Extensionsv @ ScratchesEphostorm_shortcuts.txt=° scratch.txt{° scratch_1.ison{° scratch 2 ison<° scratch 3lison125= scratch 4 txtphe scratch 5.ohnphe scratch 6.ohnSscratch 7isonscratch R.isonstaae? ison= toctselt s...iprivate function createSearch(Query $query, Searchable|string $modelOrindex): Elastica \Searchif (request() && request()->has('debug')) {"dehua' => requesto->aet('dehua')'userUuid' => request(->user?->getIdString) ?? 'anonymous','query' => ison_encode(Squery->toArrayOflaas: LISON THROW ON ERROR).'url' => request->fullUrlO,1):— 96recurn schis->cllent-›createIndex( indexName: $model0rIndex instanceof Searchable ? Smodel0rIndex->getIndex() : $model0r 94->createsearch squery)96public function scroll(Query Squery. Searchable|string Smodel): Elastica\Scroll{...}98100* dparam searchablestrino smodelurindex usaoe of model 1s deprecated102* dreturn Lazucollection<int. Document>public function scrolloverDocuments(query Squery, SearchabLe|string SmodeLOrIndex): LazyCollection(...* I105Lix** Aoaran Searchable|strina Snodel0rIndey usage of model is denrecatedT109public function search(Query $query, Searchablelstring $modelOrIndex, ?string $queryName = null): Elastica 11€Datadog::increment( stats: 'jiminny.es.search', sampleRate: 1, ['query' => $queryName ?? "']);—112$before = microtime( as_float: true);Sresult = $this->createSearch($query, Smodel0rIndex)->search0:117Cofton = micnotimed as tloat: true)"Datadog:: timing( stat: "jiminny.es.search.time', (int) (($after - $before) * 1000)sampleRate: 1, ['quer: 120return sresult.• sonnt Keview • In 21m100% L2• Wed 13 May 15:33:40AskJiminnyReportActivityServiceTest v= custom.logscratch. &.ison= laravel.logA SF jiminny@localhost]« HS_local [jiminny@localhost] X console [PROD]cascadeA console (EU]A console [STACINClrial Owner Role SeleRetactoring User EmaDashboard Activity De+0 ..~/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/5b1549d5-9876-4d9e-9ce3-025f12a83283/console.sait is there lust didn't include it "tracks"D69.select * from opportunities where team id = 2 and erm providen id TN (1374720564° 1145274235891 1490086191 X565571wsELEcT * FruM opportunity contacts whERE opportunity 1d = '414'*SELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';select * rrom contacts where 1d in (414. 464)1select * from activities where crm confiquration 1d = 2select settinas from crm conficurations where 1d = 11:Perfect - the activity has both video and audio tracks, so it would pass the ActivityRecorded filter even if appliedselect * From teams: # 1. 2select * from users;select * from crm_configurations where id = 39;select * from team_features where team_id = 2›select * from features;# SELECT * FROM opportunities WHERE crm_configuration_id = 2order by id desc;# and crm_provider_id = '49908861993';|Confirmed Fields (All Pass V)•• status : "failed" - Included in default status filtertype: "conference" - Allowed activity typeVis private : false - Passes privacy filter• V is internal: false - Should be visible• V actual_start_time : "2026-05-12 13:14:08" - Required field existsvtracks: Has video + audio tracks - Passes recorded tilterNext Stens to Deouaselect * from activity providers where id IN (443, 202, 203, 227):Since all fields nass the filters. check these:1. Date Range Selected in Dashboardselect * from activity imports where id = 795889:What date range is the user viewing? The detault is last 90 days. May 12, 2026 should be within range, but verity theselect c.id, c.provider, c.settings, t.* from teams t join crm confiqurations c 1<->1.n: on t.id = c.team_idactual Start date and end date parameters in te dasnooaro recuestwhere c.provider = 'hubspot'2. User/Team ScopeIs user 29089 (Line Kristensen) viewina her own dashboard? Verifv.select * from crm confiqurations crm JOIN teams + 1..n<->1: on crm.team id = t.id• User belonas to team 575 (NationBuilder) 7• User's group (Sales Team) has team_id: 575 VSELE * FROM teamsWHERE 1d = 311SELECT * FROM users WHERE id = 257;opportunities WHERE team 1d = 2• Check it RestrictTeam or RestrictUserGroupScope filters are excluding this3. Sxolicit Filter ValuesCheck if the dashboard request is passing explicit filter values that might exclude this activity, particularly:select * from opportunity_contacts where opportunity_id = 5124;select * fron contacts where id TN (3850.3853. 3851. 4073.4140.4155.4480.4530.4623. 5986. 513. 687. 1806. 1523. 3613) |activity status_values - might be set to only "completed"•only recorded activities - miaht be exolicitly set despite the override4. Actual Elasticsearch Quervselect * from activities where eom confiaunation id = 13.SELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141|Add logging in TeamInsightsRepository::getDashboardActivity0verTime to capture the exact Elasticsearch querybeina executed and see why this activitv is excluded!Most likely cause: Either the date range filter is excluding it, or an explicit filter value is being passed that overrides thedefault behavionselect id, team id, crm provider id from crm confiqurations where provider = 'hubspot' and crm provider id IS NOT NULSELECT * FROM accounts WHERE team id = 2 and crm provider id = '1212213464' order by id desc:SSISCT + SP0M contactc WHGPEteam id = 2 and account id = 5189 order by id desc:SELECT * FROM contacts WHERE team id = 2 order by id desc:select * from opportunity contacts where contact id = 6223:SELECT * FROM opportunities WHERE team id = 2 and account id = 5189 order by id desr.al .Ask anvthina (84L)"Code SWF-1.6•0 1.select * from erm profiles where crm confiquration id = 2:WN Windsurf Teams121-1UTF.A...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35959
|
1343
|
5
|
2026-05-13T13:26:59.575889+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678819575_m1.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Lukas Kovalik
Adelina Petrova at Robinson Crusoe Cruises Limited
New SUbject
Meeting
Contract Sent
13 Mar, 1:59 PM
Lukas Kovalik
Musaibe at Robinson Crusoe Cruises Limited
Some subject
Call
Contract Sent
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Inbound call from 07723 466018
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Ceco Personal at Robinson Crusoe Cruises Limited
Notetaker added on 12-16-22 @ 14:04
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Esther Rüffer at Twilio Video
Call RMf4643e18995e3d59d914965f38770978
Proposal
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Laura Bennett at SkyWave Solutions
test
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Notetaker added on 03-28-23 @ 13:03
Meeting Event
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
My Meeting Zoom
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
test without prospect
Meeting
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Lukas Contact at Eset LLC
testing
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Google Provider!
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Test No Provider
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New SUbject","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13 Mar, 1:59 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Musaibe at Robinson Crusoe Cruises Limited","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some subject","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Call","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Inbound call from 07723 466018","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ceco Personal at Robinson Crusoe Cruises Limited","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notetaker added on 12-16-22 @ 14:04","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Esther Rüffer at Twilio Video","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Call RMf4643e18995e3d59d914965f38770978","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proposal","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Laura Bennett at SkyWave Solutions","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"test","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting Event","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Solution Presented","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notetaker added on 03-28-23 @ 13:03","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting Event","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"My Meeting Zoom","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"test without prospect","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Contact at Eset LLC","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"testing","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting Event","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Solution Presented","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Google Provider!","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test No Provider","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
2899519002522090444
|
6105834299262390814
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Lukas Kovalik
Adelina Petrova at Robinson Crusoe Cruises Limited
New SUbject
Meeting
Contract Sent
13 Mar, 1:59 PM
Lukas Kovalik
Musaibe at Robinson Crusoe Cruises Limited
Some subject
Call
Contract Sent
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Inbound call from 07723 466018
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Ceco Personal at Robinson Crusoe Cruises Limited
Notetaker added on 12-16-22 @ 14:04
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Esther Rüffer at Twilio Video
Call RMf4643e18995e3d59d914965f38770978
Proposal
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Laura Bennett at SkyWave Solutions
test
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Notetaker added on 03-28-23 @ 13:03
Meeting Event
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
My Meeting Zoom
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
test without prospect
Meeting
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Lukas Contact at Eset LLC
testing
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Google Provider!
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Test No Provider
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited...
|
35957
|
NULL
|
NULL
|
NULL
|
|
35960
|
1344
|
5
|
2026-05-13T13:26:59.575888+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678819575_m2.jpg...
|
Firefox
|
Jiminny — Work
|
1
|
app.dev.jiminny.com/dashboard
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Lukas Kovalik
Adelina Petrova at Robinson Crusoe Cruises Limited
New SUbject
Meeting
Contract Sent
13 Mar, 1:59 PM
Lukas Kovalik
Musaibe at Robinson Crusoe Cruises Limited
Some subject
Call
Contract Sent
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Inbound call from 07723 466018
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Ceco Personal at Robinson Crusoe Cruises Limited
Notetaker added on 12-16-22 @ 14:04
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Esther Rüffer at Twilio Video
Call RMf4643e18995e3d59d914965f38770978
Proposal
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Laura Bennett at SkyWave Solutions
test
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Notetaker added on 03-28-23 @ 13:03
Meeting Event
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
My Meeting Zoom
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
test without prospect
Meeting
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Lukas Contact at Eset LLC
testing
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Google Provider!
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Test No Provider
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
test meeting
Customer
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Nemo
sidekick 20
Meeting
Prospecting
26 Oct, 2022, 12:18 PM
Lukas Kovalik
Nexmo
Sunday 1
Meeting
Prospecting
22 May, 2022, 5:26 PM
Lukas Kovalik
Nemo
The call to test smth
Meeting
Prospecting
10 May, 2022, 4:53 PM
Lukas Kovalik
Nemo
meeting 20
Meeting
Prospecting
10 Apr, 2022, 12:02 PM
Lukas Kovalik
Nemo
first meeting
Meeting
Prospecting
8 Apr, 2022, 6:08 PM
Lukas Kovalik
Nemo
Notetaker added on 04-28-22 @ 10:42
Negotiation
Prospecting
28 Mar, 2022, 10:51 AM
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Sort by Sort by: Most played
Sort by
Sort by:
Most played
Alice Ketch
Unknown Customer
Tom / Alice - Monthly Connect 🤝
Tom / Alice - Monthly Connect 🤝
0
times played
Alice Ketch
Unknown Customer
Hump 🐫 Day connect w/ Alice
Hump 🐫 Day connect w/ Alice
0
times played
Ophir Haber
Unknown Customer...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6848] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.06632314,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/prophet","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.06216755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19958] Upgrade BE libraries - May - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.07762633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.20977394,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-19957] Upgrade BE libraries - Apr - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.076296546,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dependabot alerts · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dependabot alerts · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.05501995,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6849] Recorded call does not appear on the dashboard - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.11735372,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Useful commands - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Useful commands - Engineering - Confluence","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.079288565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dev Tools - Elastic","depth":4,"bounds":{"left":0.0,"top":0.6408619,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dev Tools - Elastic","depth":5,"bounds":{"left":0.013297873,"top":0.6520351,"width":0.032247342,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.6735834,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.013297873,"top":0.6847566,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.68076617,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.70790106,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"My Recordings","depth":14,"bounds":{"left":0.118351065,"top":0.07182761,"width":0.039893616,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"My Recordings","depth":15,"bounds":{"left":0.12101064,"top":0.0905826,"width":0.034574468,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Team Recordings","depth":14,"bounds":{"left":0.15824468,"top":0.07182761,"width":0.044714097,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Team Recordings","depth":15,"bounds":{"left":0.16090426,"top":0.0905826,"width":0.03939495,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Everyone's Recordings","depth":14,"bounds":{"left":0.20295878,"top":0.07182761,"width":0.057513297,"height":0.052673582},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Everyone's Recordings","depth":15,"bounds":{"left":0.20561835,"top":0.0905826,"width":0.05219415,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.1735834,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adelina Petrova at Robinson Crusoe Cruises Limited","depth":17,"bounds":{"left":0.1341423,"top":0.14684756,"width":0.100398935,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New SUbject","depth":17,"bounds":{"left":0.1341423,"top":0.16640064,"width":0.025099734,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"bounds":{"left":0.1341423,"top":0.1859537,"width":0.016123671,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":17,"bounds":{"left":0.1341423,"top":0.20550679,"width":0.026928192,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13 Mar, 1:59 PM","depth":17,"bounds":{"left":0.1341423,"top":0.22505985,"width":0.031914894,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.30007982,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Musaibe at Robinson Crusoe Cruises Limited","depth":17,"bounds":{"left":0.1341423,"top":0.27334398,"width":0.08610372,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some subject","depth":17,"bounds":{"left":0.1341423,"top":0.29289705,"width":0.025598405,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Call","depth":17,"bounds":{"left":0.1341423,"top":0.3124501,"width":0.007480053,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Contract Sent","depth":17,"bounds":{"left":0.1341423,"top":0.3320032,"width":0.026928192,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.35155627,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.40702313,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"bounds":{"left":0.1341423,"top":0.39984038,"width":0.03873005,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Inbound call from 07723 466018","depth":18,"bounds":{"left":0.1341423,"top":0.41939345,"width":0.06349734,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.43894652,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.4944134,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ceco Personal at Robinson Crusoe Cruises Limited","depth":17,"bounds":{"left":0.1341423,"top":0.48723066,"width":0.09707447,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notetaker added on 12-16-22 @ 14:04","depth":18,"bounds":{"left":0.1341423,"top":0.5067837,"width":0.07446808,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.5263368,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.5913807,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Esther Rüffer at Twilio Video","depth":17,"bounds":{"left":0.1341423,"top":0.5746209,"width":0.055352394,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Call RMf4643e18995e3d59d914965f38770978","depth":17,"bounds":{"left":0.1341423,"top":0.59417397,"width":0.094082445,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proposal","depth":17,"bounds":{"left":0.1341423,"top":0.61372703,"width":0.017121011,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.6332801,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.70830005,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Laura Bennett at SkyWave Solutions","depth":17,"bounds":{"left":0.1341423,"top":0.6815643,"width":0.06981383,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"test","depth":17,"bounds":{"left":0.1341423,"top":0.70111734,"width":0.007480053,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting Event","depth":17,"bounds":{"left":0.1341423,"top":0.7206704,"width":0.02825798,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Solution Presented","depth":17,"bounds":{"left":0.1341423,"top":0.74022347,"width":0.036901597,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.75977653,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.82482046,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"bounds":{"left":0.1341423,"top":0.80806065,"width":0.03873005,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notetaker added on 03-28-23 @ 13:03","depth":17,"bounds":{"left":0.1341423,"top":0.8276137,"width":0.07446808,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting Event","depth":17,"bounds":{"left":0.1341423,"top":0.8471668,"width":0.02825798,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.8667199,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":0.92218673,"width":0.01662234,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"bounds":{"left":0.1341423,"top":0.915004,"width":0.06382979,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"My Meeting Zoom","depth":18,"bounds":{"left":0.1341423,"top":0.9345571,"width":0.035405584,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":0.95411015,"width":0.04637633,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"bounds":{"left":0.11419548,"top":1.0,"width":0.01662234,"height":-0.019154072},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":17,"bounds":{"left":0.1341423,"top":1.0,"width":0.03873005,"height":-0.0023941994},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"test without prospect","depth":17,"bounds":{"left":0.1341423,"top":1.0,"width":0.04155585,"height":-0.021947384},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"bounds":{"left":0.1341423,"top":1.0,"width":0.016123671,"height":-0.04150045},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"bounds":{"left":0.1341423,"top":1.0,"width":0.04637633,"height":-0.061053514},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Contact at Eset LLC","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"testing","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting Event","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Solution Presented","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Google Provider!","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test No Provider","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Robinson Crusoe Cruises Limited","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"test meeting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Customer","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19 Dec, 2025, 12:30 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nemo","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"sidekick 20","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prospecting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26 Oct, 2022, 12:18 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nexmo","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sunday 1","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prospecting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"22 May, 2022, 5:26 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nemo","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The call to test smth","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prospecting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10 May, 2022, 4:53 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nemo","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"meeting 20","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prospecting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10 Apr, 2022, 12:02 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nemo","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"first meeting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Meeting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prospecting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8 Apr, 2022, 6:08 PM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nemo","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notetaker added on 04-28-22 @ 10:42","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Negotiation","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prospecting","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"28 Mar, 2022, 10:51 AM","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Schedule","depth":13,"bounds":{"left":0.27460107,"top":0.25738227,"width":0.029421542,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Schedule","depth":14,"bounds":{"left":0.27460107,"top":0.25937748,"width":0.029421542,"height":0.021548284},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Invite Notetaker","depth":14,"bounds":{"left":0.38746676,"top":0.254988,"width":0.044215426,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"This Week","depth":14,"bounds":{"left":0.27958778,"top":0.3028731,"width":0.07197473,"height":0.02952913},"on_screen":true,"value":"This Week","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"This Week","depth":17,"bounds":{"left":0.28324467,"top":0.31085396,"width":0.021775266,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Team Schedule","depth":14,"bounds":{"left":0.35488698,"top":0.3028731,"width":0.07180851,"height":0.02952913},"on_screen":true,"value":"Team Schedule","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Team Schedule","depth":17,"bounds":{"left":0.35854387,"top":0.31085396,"width":0.030751329,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No Meetings","depth":16,"bounds":{"left":0.33992687,"top":0.6843575,"width":0.02642952,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Trending this month","depth":13,"bounds":{"left":0.27958778,"top":0.08858739,"width":0.04637633,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Trending this month","depth":14,"bounds":{"left":0.27958778,"top":0.0905826,"width":0.04637633,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Sort by Sort by: Most played","depth":13,"bounds":{"left":0.35821143,"top":0.08339984,"width":0.068484046,"height":0.02952913},"on_screen":true,"value":"Sort by Sort by: Most played","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Sort by","depth":14,"on_screen":false,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sort by:","depth":15,"bounds":{"left":0.36186835,"top":0.091380686,"width":0.016954787,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Most played","depth":15,"bounds":{"left":0.37882313,"top":0.091380686,"width":0.025930852,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alice Ketch","depth":17,"bounds":{"left":0.3472407,"top":0.13248204,"width":0.013131649,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":16,"bounds":{"left":0.32829124,"top":0.16679968,"width":0.04338431,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Tom / Alice - Monthly Connect 🤝","depth":15,"bounds":{"left":0.31382978,"top":0.18515563,"width":0.0787899,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tom / Alice - Monthly Connect 🤝","depth":16,"bounds":{"left":0.3238032,"top":0.18515563,"width":0.058843084,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":16,"bounds":{"left":0.35472074,"top":0.2019154,"width":0.004155585,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"times played","depth":17,"bounds":{"left":0.34391624,"top":0.21667998,"width":0.01861702,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alice Ketch","depth":17,"bounds":{"left":0.50448805,"top":0.13248204,"width":0.013131649,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":16,"bounds":{"left":0.48553857,"top":0.16679968,"width":0.04338431,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Hump 🐫 Day connect w/ Alice","depth":15,"bounds":{"left":0.47340426,"top":0.18515563,"width":0.07413564,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hump 🐫 Day connect w/ Alice","depth":16,"bounds":{"left":0.48337767,"top":0.18515563,"width":0.05418883,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":16,"bounds":{"left":0.5119681,"top":0.2019154,"width":0.004155585,"height":0.01556265},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"times played","depth":17,"bounds":{"left":0.50116354,"top":0.21667998,"width":0.01861702,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ophir Haber","depth":17,"bounds":{"left":0.66173536,"top":0.13248204,"width":0.013962766,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unknown Customer","depth":16,"bounds":{"left":0.6427859,"top":0.16679968,"width":0.04338431,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-8775642872550224445
|
6105834307987469078
|
click
|
accessibility
|
NULL
|
Usage | Windsurf
Usage | Windsurf
JY-20891 add sup Usage | Windsurf
Usage | Windsurf
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[SRD-6848] Sidekick SMS issue - Jira
[SRD-6848] Sidekick SMS issue - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Dependabot alerts · jiminny/prophet
Dependabot alerts · jiminny/prophet
[JY-19958] Upgrade BE libraries - May - Jira
[JY-19958] Upgrade BE libraries - May - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
JY-19957 | Remove abanded sympfony debug, compose upgrade by nikolaybiaivanov · Pull Request #12022 · jiminny/app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
TypeError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218 — jiminny — app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
[JY-19957] Upgrade BE libraries - Apr - Jira
[JY-19957] Upgrade BE libraries - Apr - Jira
Dependabot alerts · jiminny/app
Dependabot alerts · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
[SRD-6849] Recorded call does not appear on the dashboard - Jira
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Jiminny
Useful commands - Engineering - Confluence
Useful commands - Engineering - Confluence
Dev Tools - Elastic
Dev Tools - Elastic
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
My Recordings
My Recordings
Team Recordings
Team Recordings
Everyone's Recordings
Everyone's Recordings
Lukas Kovalik
Adelina Petrova at Robinson Crusoe Cruises Limited
New SUbject
Meeting
Contract Sent
13 Mar, 1:59 PM
Lukas Kovalik
Musaibe at Robinson Crusoe Cruises Limited
Some subject
Call
Contract Sent
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Inbound call from 07723 466018
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Ceco Personal at Robinson Crusoe Cruises Limited
Notetaker added on 12-16-22 @ 14:04
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Esther Rüffer at Twilio Video
Call RMf4643e18995e3d59d914965f38770978
Proposal
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Laura Bennett at SkyWave Solutions
test
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
Notetaker added on 03-28-23 @ 13:03
Meeting Event
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
My Meeting Zoom
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Unknown Customer
test without prospect
Meeting
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Lukas Contact at Eset LLC
testing
Meeting Event
Solution Presented
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Google Provider!
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
Test No Provider
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Robinson Crusoe Cruises Limited
test meeting
Customer
19 Dec, 2025, 12:30 PM
Lukas Kovalik
Nemo
sidekick 20
Meeting
Prospecting
26 Oct, 2022, 12:18 PM
Lukas Kovalik
Nexmo
Sunday 1
Meeting
Prospecting
22 May, 2022, 5:26 PM
Lukas Kovalik
Nemo
The call to test smth
Meeting
Prospecting
10 May, 2022, 4:53 PM
Lukas Kovalik
Nemo
meeting 20
Meeting
Prospecting
10 Apr, 2022, 12:02 PM
Lukas Kovalik
Nemo
first meeting
Meeting
Prospecting
8 Apr, 2022, 6:08 PM
Lukas Kovalik
Nemo
Notetaker added on 04-28-22 @ 10:42
Negotiation
Prospecting
28 Mar, 2022, 10:51 AM
Schedule
Schedule
Invite Notetaker
This Week
This Week
Team Schedule
Team Schedule
No Meetings
Trending this month
Trending this month
Sort by Sort by: Most played
Sort by
Sort by:
Most played
Alice Ketch
Unknown Customer
Tom / Alice - Monthly Connect 🤝
Tom / Alice - Monthly Connect 🤝
0
times played
Alice Ketch
Unknown Customer
Hump 🐫 Day connect w/ Alice
Hump 🐫 Day connect w/ Alice
0
times played
Ophir Haber
Unknown Customer...
|
35958
|
NULL
|
NULL
|
NULL
|
|
35961
|
1343
|
6
|
2026-05-13T13:27:04.499327+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678824499_m1.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6375276480214113839
|
-7881077389668029571
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35962
|
1344
|
6
|
2026-05-13T13:27:04.499347+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678824499_m2.jpg...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.08843085,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"bounds":{"left":0.38231382,"top":0.17478053,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39361703,"top":0.17318435,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.40093085,"top":0.17318435,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.40957448,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"bounds":{"left":0.41821808,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"bounds":{"left":0.42918882,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"bounds":{"left":0.43783244,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"bounds":{"left":0.44647607,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"bounds":{"left":0.4574468,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"bounds":{"left":0.46841756,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"bounds":{"left":0.4950133,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.50598407,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.7084442,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20","depth":4,"bounds":{"left":0.6712101,"top":0.123703115,"width":0.010305851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.68351066,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"bounds":{"left":0.6928192,"top":0.123703115,"width":0.00930851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.70412236,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":4,"bounds":{"left":0.7140958,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.73105055,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","depth":4,"on_screen":true,"value":"SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o\nJOIN activities a ON o.id = a.opportunity_id\nWHERE a.crm_configuration_id = 39\nAND a.actual_start_time > '2025-10-13'\nAND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 39 and user_id = 143\nand actual_start_time >= '2025-10-13'\nAND type IN ('conference', 'softphone-inbound', 'softphone-outbound')\n;\n\nSELECT * FROM opportunities WHERE account_id IN (178);\nselect * from activities where id IN (620137, 620187, 620188, 620189, 620230);\n\n# HS\nSELECT * FROM opportunities WHERE id IN (238);\nselect * from activities where id IN (477,2076);\n\nselect * from users;\n\nSELECT COUNT(*) FROM users;\nSELECT COUNT(*) FROM activities;\nSELECT COUNT(*) FROM opportunities;\n\nUPDATE activities\nSET\n actual_start_time = '2025-12-19 09:00:00',\n actual_end_time = '2025-12-19 10:30:00',\n scheduled_start_time = '2025-12-19 09:00:00',\n scheduled_end_time = '2025-12-19 10:30:00'\nWHERE id IN (407509,407375);\n\nselect * from partners;\n\nSELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id\nFROM activities\nWHERE user_id = 143\nAND actual_start_time >= '2025-10-13 00:00:00'\nAND actual_start_time <= '2026-01-13 23:59:59'\nORDER BY actual_start_time DESC;\n\nSELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;\nSELECT * FROM crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;\n# lead_id\n# account_id 177\n# contact_id 3969\n# opportunity_id\n# stage_id 203\n\nSELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;\n\nSELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'\nAND user_id = 143 and actual_start_time >= '2025-10-13';\n\nSELECT * FROM activities a\n# JOIN opportunities o ON a.opportunity_id = o.id\nWHERE a.crm_configuration_id = 39 AND a.type = 'conference'\nand status = 'completed' and recording_state = 'recorded'\nand a.actual_start_time >= '2025-10-13'\nAND a.user_id = 143\n;\n\nselect * from leads\nwhere crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707\n\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);\nSELECT * FROM activities WHERE id IN (356013,616188,616202,616310);\nSELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198\nSELECT * FROM activities WHERE id IN (356001, 356008); # contacts:\n\nSELECT * FROM opportunities WHERE id IN (1707);\nSELECT * FROM stages where id IN (204, 198);\nSELECT * FROM opportunities WHERE account_id IN (178);\nSELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';\nSELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal\n\nSELECT * FROM activities where crm_configuration_id = 39\nAND opportunity_id IS NULL\nAND is_internal = false\nand status = 'completed' and recording_state = 'recorded'\nAND actual_start_time >= '2025-10-13'\nAND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)\n# AND lead_id IN (112, 109)\n;\n\nSELECT * FROM crm_profiles WHERE user_id = 143;\n\nselect * from inboxes; # 212\nselect * from users where id = 143; # 143\nselect * from inbox_email_batches where inbox_id = 212\nand updated_at >= '2026-01-28 00:00:00' order by id desc;\nselect * from inbox_emails where inbox_id = 212\nand batch_id = 95885 order by id desc;\nselect * from email_messages where origin_user_id = 143;\nselect * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';\nselect * from participants where activity_id = 620247;\n\nselect * from crm_profiles where user_id = 143;\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001\nselect * from transcription where activity_id = 356001; # 6943\nselect * from ai_prompts where transcription_id = 6943;\nSELECT * FROM activity_summary_logs where activity_id = 356001;\n\nSELECT * FROM social_accounts WHERE sociable_id = 143;\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;\n# 422515 softphone tr. 8100\n\nSELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;\n# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS\n\nselect * from ai_prompts where transcription_id IN (8100, 7670);\nselect * from activity_summary_logs where activity_id = 407509;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nSELECT * FROM contacts WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\nSELECT * FROM leads WHERE crm_configuration_id = 39 and email = 'm.kogoj@gmx.at';\n\nSELECT * FROM activity_searches where user_id = 143;\nSELECT * FROM groups where team_id = 1;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1; # 1150 - 7e75f8025c22\nselect id, name, group_id, status, deleted_at, email\nfrom users where team_id = 1 order by group_id desc ;\n\nselect * from activity_searches where id in (1977, 1978, 1979);\nselect * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);\nselect * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277\nselect * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879\n\nINSERT INTO `activity_search_filters`\n(`activity_search_id`, `filter`, `value`) VALUES\n(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),\n(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')\n;\n\nselect * from crm_configurations where id = 39;\n\n\nselect sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id\nwhere u.team_id = 1;\nSELECT * FROM social_accounts WHERE sociable_id = 1635;\nSELECT * FROM users WHERE id = 1635;\n\nselect * from teams where id = 1;\nselect * from users where team_id = 1;\nselect * from team_features where team_id = 1;\nselect * from features;\n\nSELECT * FROM activity_searches where id = 1982; # 1981\nSELECT * FROM activity_search_filters WHERE activity_search_id = 1982;\n\nSELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;\nSELECT * FROM groups WHERE id = 1439;\nSELECT * FROM users WHERE group_id = 1439;\n\nselect * from permissions; # 158\nselect * from roles;\nselect * from permission_role;\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 28;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 179;\nselect * from playbook_categories where id = 1391;\nselect * from users where id = 143;\nselect * from crm_profiles where user_id = 143;\nselect * from activities where crm_configuration_id = 39 and type = 'conference'\nand crm_provider_id IS NOT NULL ORDER by id desc;\nselect * from activities where id = 422003; # 00UO400000pB6fpMAC\n\nSELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type\nFROM automated_report_results ar\nJOIN automated_reports a ON a.id = ar.report_id\nWHERE a.type = 'ask_jiminny'\nLIMIT 10;\n\nSELECT * FROM automated_reports where id = 71;\nSELECT * FROM automated_report_results where report_id = 71;\nUPDATE automated_reports set playbook_categories = NULL where id = 68;\nSELECT * FROM automated_report_results where id = 275;\n\nSELECT * FROM automated_reports order by id desc;\nSELECT * FROM automated_report_results order by id desc;\nselect * from activity_searches where user_id = 143;\nselect * from ask_anything_prompts;\n\nSELECT `automated_report_results`.* FROM `automated_report_results`\nINNER JOIN `automated_reports`\n ON `automated_report_results`.`report_id` = `automated_reports`.`id`\nWHERE 1=1\n AND `automated_report_results`.`generated_at` IS NOT NULL\n# AND `automated_report_results`.`sent_at` IS NOT NULL\n AND `automated_reports`.`team_id` = 1\n AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$.\"users\"')\n;\n\nSELECT * FROM automated_reports where id = 67;\nSELECT * FROM automated_reports where id = 42;\nSELECT * FROM users WHERE id = 143; # group 28\n\nselect * from teams where id = 3143;\nselect * from crm_configurations where id = 500;\nselect * from users where name = 'Integration Account'; # 1695\nSELECT * FROM social_accounts WHERE sociable_id = 1695;\n\nselect * from activities where crm_configuration_id = 39\nand recording_state = 'recorded' and duration > 60\nand status = 'completed' and actual_start_time >= '2025-12-01';\n\nSELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;\n\nselect * from leads;\n\nSELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7644424702618419
|
-7004613033495161267
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
20
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role;
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35963
|
1343
|
7
|
2026-05-13T13:27:13.486978+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678833486_m1.jpg...
|
PhpStorm
|
faVsco.js – Search.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20891-improve-sms-text-relays, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20891-improve-sms-text-relays","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Component\\ElasticSearch\\Service;\n\nuse ChaseConey\\LaravelDatadogHelper\\Datadog;\nuse Elastica;\nuse Elastica\\Document;\nuse Elastica\\Query;\nuse Generator;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\LazyCollection;\nuse Jiminny\\Component\\ElasticSearch\\Client;\nuse Jiminny\\Component\\ElasticSearch\\Contract\\Searchable;\nuse Jiminny\\Component\\ElasticSearch\\ModelFiller;\nuse Jiminny\\Models\\Activity;\n\n/**\n * Class Search\n *\n * @package Jiminny\\Component\\ElasticSearch\\Service\n */\nclass Search\n{\n /**\n * @var Client\n */\n private $client;\n\n /**\n * @var ModelFiller\\Elastica\n */\n private $modelFiller;\n\n public function __construct(Client $client, ModelFiller\\Elastica $modelFiller)\n {\n $this->client = $client;\n $this->modelFiller = $modelFiller;\n }\n\n public function updateDocument(Searchable $model): self\n {\n return $this->updateDocumentCollection($model, new Collection([$model]));\n }\n\n public function updateDocumentCollection(\n Searchable $model,\n Collection $collection,\n int $chunkSize = 10,\n ?callable $callback = null,\n ): self {\n if ($collection->count() === 0) {\n return $this;\n }\n\n $documentType = $this->client->createIndex($model->getIndex());\n\n $collection\n ->chunk($chunkSize)\n ->each(static function (Collection $collection) use ($documentType, $callback): void {\n $documents = $collection->map(static function (Searchable $model): Document {\n return new Document((string) $model->getId(), $model->getIndexableAttributes());\n });\n\n $documentType->addDocuments($documents->all());\n\n if ($callback !== null) {\n $callback($collection, $documents);\n }\n\n gc_collect_cycles();\n });\n\n return $this;\n }\n\n private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\\Search\n {\n if (request() && request()->has('debug')) {\n Log::info('Debug ES query: ', [\n 'debug' => request()->get('debug'),\n 'userId' => request()->user()?->id ?? 'anonymous',\n 'userUuid' => request()->user()?->getIdString() ?? 'anonymous',\n 'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),\n 'url' => request()->fullUrl(),\n ]);\n }\n\n return $this->client\n ->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)\n ->createSearch($query);\n }\n\n public function scroll(Query $query, Searchable|string $model): Elastica\\Scroll\n {\n return new Elastica\\Scroll($this->createSearch($query, $model));\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n *\n * @return LazyCollection<int, Document>\n */\n public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection\n {\n return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {\n foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {\n foreach ($resultSet->getDocuments() as $document) {\n yield $document;\n }\n }\n });\n }\n\n /**\n * @param Searchable|string $modelOrIndex usage of model is deprecated\n */\n public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\\ResultSet\n {\n Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);\n\n $before = microtime(true);\n\n $result = $this->createSearch($query, $modelOrIndex)->search();\n\n $after = microtime(true);\n\n Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);\n\n return $result;\n }\n\n /**\n * @TODO use LazyCollection\n *\n * @return Collection<int, Activity>\n */\n public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection\n {\n return $this\n ->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)\n ->collect();\n }\n\n /**\n * @return array{totalHits: int, results: Collection<int, Activity>}\n */\n public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array\n {\n $search = $this->search($query, $model, $queryName);\n\n /**\n * @TODO Use value-object instead.\n */\n return [\n 'totalHits' => $search->getTotalHits(),\n 'results' => $this\n ->hydrateCollection($search->getDocuments(), $model)\n ->collect(),\n ];\n }\n\n private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection\n {\n return LazyCollection::make($collection)\n ->map(function (Document $document) use ($model): Searchable {\n return $this->hydrateModel($document, $model);\n });\n }\n\n private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable\n {\n $attributes = $document->getData();\n $attributes['id'] = $document->getId();\n\n /** @var Searchable&Model */\n return $this->modelFiller->newFromBuilderRecursive($model, $attributes);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7305029096388518065
|
-7881072991621518467
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20891-improve-sms-text Project: faVsco.js, menu
JY-20891-improve-sms-text-relays, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
10
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Component\ElasticSearch\Service;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Elastica;
use Elastica\Document;
use Elastica\Query;
use Generator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\LazyCollection;
use Jiminny\Component\ElasticSearch\Client;
use Jiminny\Component\ElasticSearch\Contract\Searchable;
use Jiminny\Component\ElasticSearch\ModelFiller;
use Jiminny\Models\Activity;
/**
* Class Search
*
* @package Jiminny\Component\ElasticSearch\Service
*/
class Search
{
/**
* @var Client
*/
private $client;
/**
* @var ModelFiller\Elastica
*/
private $modelFiller;
public function __construct(Client $client, ModelFiller\Elastica $modelFiller)
{
$this->client = $client;
$this->modelFiller = $modelFiller;
}
public function updateDocument(Searchable $model): self
{
return $this->updateDocumentCollection($model, new Collection([$model]));
}
public function updateDocumentCollection(
Searchable $model,
Collection $collection,
int $chunkSize = 10,
?callable $callback = null,
): self {
if ($collection->count() === 0) {
return $this;
}
$documentType = $this->client->createIndex($model->getIndex());
$collection
->chunk($chunkSize)
->each(static function (Collection $collection) use ($documentType, $callback): void {
$documents = $collection->map(static function (Searchable $model): Document {
return new Document((string) $model->getId(), $model->getIndexableAttributes());
});
$documentType->addDocuments($documents->all());
if ($callback !== null) {
$callback($collection, $documents);
}
gc_collect_cycles();
});
return $this;
}
private function createSearch(Query $query, Searchable|string $modelOrIndex): Elastica\Search
{
if (request() && request()->has('debug')) {
Log::info('Debug ES query: ', [
'debug' => request()->get('debug'),
'userId' => request()->user()?->id ?? 'anonymous',
'userUuid' => request()->user()?->getIdString() ?? 'anonymous',
'query' => json_encode($query->toArray(), JSON_THROW_ON_ERROR),
'url' => request()->fullUrl(),
]);
}
return $this->client
->createIndex($modelOrIndex instanceof Searchable ? $modelOrIndex->getIndex() : $modelOrIndex)
->createSearch($query);
}
public function scroll(Query $query, Searchable|string $model): Elastica\Scroll
{
return new Elastica\Scroll($this->createSearch($query, $model));
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*
* @return LazyCollection<int, Document>
*/
public function scrollOverDocuments(Query $query, Searchable|string $modelOrIndex): LazyCollection
{
return LazyCollection::make(function () use ($query, $modelOrIndex): Generator {
foreach ($this->scroll($query, $modelOrIndex) as $resultSet) {
foreach ($resultSet->getDocuments() as $document) {
yield $document;
}
}
});
}
/**
* @param Searchable|string $modelOrIndex usage of model is deprecated
*/
public function search(Query $query, Searchable|string $modelOrIndex, ?string $queryName = null): Elastica\ResultSet
{
Datadog::increment('jiminny.es.search', 1, ['query' => $queryName ?? '']);
$before = microtime(true);
$result = $this->createSearch($query, $modelOrIndex)->search();
$after = microtime(true);
Datadog::timing('jiminny.es.search.time', (int) (($after - $before) * 1000), 1, ['query' => $queryName ?? '']);
return $result;
}
/**
* @TODO use LazyCollection
*
* @return Collection<int, Activity>
*/
public function getQueryDocuments(Query $query, Model&Searchable $model, ?string $queryName = null): Collection
{
return $this
->hydrateCollection($this->search($query, $model, $queryName)->getDocuments(), $model)
->collect();
}
/**
* @return array{totalHits: int, results: Collection<int, Activity>}
*/
public function getQueryDocumentsPaginated(Query $query, Model&Searchable $model, ?string $queryName = null): array
{
$search = $this->search($query, $model, $queryName);
/**
* @TODO Use value-object instead.
*/
return [
'totalHits' => $search->getTotalHits(),
'results' => $this
->hydrateCollection($search->getDocuments(), $model)
->collect(),
];
}
private function hydrateCollection(array $collection, Model&Searchable $model): LazyCollection
{
return LazyCollection::make($collection)
->map(function (Document $document) use ($model): Searchable {
return $this->hydrateModel($document, $model);
});
}
private function hydrateModel(Document $document, Model&Searchable $model): Model&Searchable
{
$attributes = $document->getData();
$attributes['id'] = $document->getId();
/** @var Searchable&Model */
return $this->modelFiller->newFromBuilderRecursive($model, $attributes);
}
}
Execute
Explain Plan
Browse Query History
View Parameters...
|
35961
|
NULL
|
NULL
|
NULL
|
|
35964
|
1343
|
8
|
2026-05-13T13:27:43.795393+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678863795_m1.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Find in Files
100+ matches in 18+ files
File mask: Find in Files
100+ matches in 18+ files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
update
New Line
Match case
Words
Regex
Replace History
Replace
New Line
Preserve case
In Project
Module
Directory
Scope
Module
/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service
/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service
/Users/lukas/jiminny/app/app/Jobs/Mailbox
/Users/lukas/jiminny/app/app/Events/AutomatedReports
/Users/lukas/jiminny/app/app/Http/Controllers
/Users/lukas/jiminny/app/app/Events/Nudges
/Users/lukas/jiminny/app/app/Listeners/Nudges/UserPilot
/Users/lukas/jiminny/app/app/Services/Crm/Hubspot
/Users/lukas/jiminny/app/app/Jobs/Middleware
/Users/lukas/jiminny/app/app/Listeners/AutomatedReports/UserPilot
/Users/lukas/jiminny/app/app/Jobs/Crm
/Users/lukas/jiminny/app/app/Services/Kiosk/AutomatedReports
/Users/lukas/jiminny/app/app/Jobs/Crm/Delete
/Users/lukas/jiminny/app/app/Listeners/Crm
/Users/lukas/jiminny/app/app/Services/Crm/Hubspot/ServiceTraits
/Users/lukas/jiminny/app/app/Exceptions
/Users/lukas/jiminny/app/app/Component/Queue/Job
/Users/lukas/jiminny/app/app/Events/Crm
/Users/lukas/jiminny/app/app/Jobs/AutomatedReports...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Find in Files","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100+ matches in 18+ files","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"File mask:","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"*.php","depth":1,"on_screen":true,"value":"*.php","role_description":"combo box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"*.php","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Auto","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXTextField","text":"*.php","depth":2,"on_screen":true,"value":"*.php","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pin Window","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"update","depth":2,"on_screen":true,"value":"update","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match case","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":1,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":1,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":2,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":1,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In Project","depth":2,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Module","depth":2,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Directory","depth":2,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Scope","depth":2,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Module","depth":1,"bounds":{"left":0.0,"top":0.0,"width":0.20833333,"height":0.037777778},"on_screen":false,"role_description":"pop up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service","depth":1,"bounds":{"left":0.0,"top":0.0,"width":0.4125,"height":0.037777778},"on_screen":false,"value":"/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service","role_description":"combo box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/Mailbox","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Events/AutomatedReports","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Http/Controllers","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Events/Nudges","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/Nudges/UserPilot","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Services/Crm/Hubspot","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/Middleware","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/AutomatedReports/UserPilot","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Services/Kiosk/AutomatedReports","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/Crm/Delete","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Services/Crm/Hubspot/ServiceTraits","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Exceptions","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Component/Queue/Job","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Events/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/AutomatedReports","depth":6,"on_screen":false,"role_description":"text"}]...
|
-511754285057942577
|
-8374335396749519526
|
idle
|
accessibility
|
NULL
|
Find in Files
100+ matches in 18+ files
File mask: Find in Files
100+ matches in 18+ files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
update
New Line
Match case
Words
Regex
Replace History
Replace
New Line
Preserve case
In Project
Module
Directory
Scope
Module
/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service
/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service
/Users/lukas/jiminny/app/app/Jobs/Mailbox
/Users/lukas/jiminny/app/app/Events/AutomatedReports
/Users/lukas/jiminny/app/app/Http/Controllers
/Users/lukas/jiminny/app/app/Events/Nudges
/Users/lukas/jiminny/app/app/Listeners/Nudges/UserPilot
/Users/lukas/jiminny/app/app/Services/Crm/Hubspot
/Users/lukas/jiminny/app/app/Jobs/Middleware
/Users/lukas/jiminny/app/app/Listeners/AutomatedReports/UserPilot
/Users/lukas/jiminny/app/app/Jobs/Crm
/Users/lukas/jiminny/app/app/Services/Kiosk/AutomatedReports
/Users/lukas/jiminny/app/app/Jobs/Crm/Delete
/Users/lukas/jiminny/app/app/Listeners/Crm
/Users/lukas/jiminny/app/app/Services/Crm/Hubspot/ServiceTraits
/Users/lukas/jiminny/app/app/Exceptions
/Users/lukas/jiminny/app/app/Component/Queue/Job
/Users/lukas/jiminny/app/app/Events/Crm
/Users/lukas/jiminny/app/app/Jobs/AutomatedReports...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
35965
|
1344
|
7
|
2026-05-13T13:27:43.779135+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778678863779_m2.jpg...
|
PhpStorm
|
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Find in Files
100+ matches in 18+ files
File mask: Find in Files
100+ matches in 18+ files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
update
New Line
Match case
Words
Regex
Replace History
Replace
New Line
Preserve case
In Project
Module
Directory
Scope
Module
/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service
/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service
/Users/lukas/jiminny/app/app/Jobs/Mailbox
/Users/lukas/jiminny/app/app/Events/AutomatedReports
/Users/lukas/jiminny/app/app/Http/Controllers
/Users/lukas/jiminny/app/app/Events/Nudges
/Users/lukas/jiminny/app/app/Listeners/Nudges/UserPilot
/Users/lukas/jiminny/app/app/Services/Crm/Hubspot
/Users/lukas/jiminny/app/app/Jobs/Middleware
/Users/lukas/jiminny/app/app/Listeners/AutomatedReports/UserPilot
/Users/lukas/jiminny/app/app/Jobs/Crm
/Users/lukas/jiminny/app/app/Services/Kiosk/AutomatedReports
/Users/lukas/jiminny/app/app/Jobs/Crm/Delete
/Users/lukas/jiminny/app/app/Listeners/Crm
/Users/lukas/jiminny/app/app/Services/Crm/Hubspot/ServiceTraits
/Users/lukas/jiminny/app/app/Exceptions
/Users/lukas/jiminny/app/app/Component/Queue/Job
/Users/lukas/jiminny/app/app/Events/Crm
/Users/lukas/jiminny/app/app/Jobs/AutomatedReports
/Users/lukas/jiminny/app/app/Listeners/Activities/Coaching/UserPilot
/Users/lukas/jiminny/app/app/Listeners/Activities/ActivityProvider/UserPilot
/Users/lukas/jiminny/app/app/Jobs/Activity/PushSummaryToCrm
/Users/lukas/jiminny/app/app/Repositories/Crm
/Users/lukas/jiminny/app/app/Http/Controllers/API/UserAutomatedReports
/Users/lukas/jiminny/app/app/Services/Crm/Salesforce
/Users/lukas/jiminny/app/app/Providers
/Users/lukas/jiminny/app/app/Services/Crm/IntegrationApp
/Users/lukas/jiminny/app/app/Events/Activities/Crm
/Users/lukas/jiminny/app/app/Listeners/Playbooks
/Users/lukas/jiminny/app/app/Console/Commands/Crm
/Users/lukas/jiminny/app/app/Services/Crm
/Users/lukas/jiminny/app/app/Console/Commands/Reports
/Users/lukas/jiminny/app/app/VO/Repository/OnDemandActivitySearch
/Users/lukas/jiminny/app/app/Listeners/Activities/Conferences/UserPilot
/Users/lukas/jiminny/app/app/Http/Controllers/Webhook
/Users/lukas/jiminny/app/resources/views/emails/reports
/Users/lukas/jiminny/app/app/Mail/Reports
/Users/lukas/jiminny/app/app/Repositories
/Users/lukas/jiminny/app/app/Component/ActivitySearch/Service
/Users/lukas/jiminny/app/tests/Unit/Services/Crm/Salesforce
/Users/lukas/jiminny/app/routes
/Users/lukas/jiminny/app/app/Console/Commands
/Users/lukas/jiminny/app/database/migrations
/Users/lukas/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/325d461a-c90f-430a-99d4-6ddfce0c61d7...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Find in Files","depth":1,"bounds":{"left":0.2992021,"top":0.12609737,"width":0.024601065,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100+ matches in 18+ files","depth":1,"bounds":{"left":0.32779256,"top":0.12609737,"width":0.05219415,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"File mask:","depth":1,"bounds":{"left":0.5315825,"top":0.12290503,"width":0.029587766,"height":0.019952115},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"*.php","depth":1,"bounds":{"left":0.5621675,"top":0.11971269,"width":0.027925532,"height":0.027134877},"on_screen":true,"value":"*.php","role_description":"combo box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"*.php","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Auto","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXTextField","text":"*.php","depth":2,"bounds":{"left":0.5661569,"top":0.12609737,"width":0.011635638,"height":0.013567438},"on_screen":true,"value":"*.php","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":1,"bounds":{"left":0.5944149,"top":0.12290503,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pin Window","depth":1,"bounds":{"left":0.6037234,"top":0.12290503,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":1,"bounds":{"left":0.2962101,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"update","depth":2,"bounds":{"left":0.30718085,"top":0.15403032,"width":0.26196808,"height":0.017557861},"on_screen":true,"value":"update","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"bounds":{"left":0.578125,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match case","depth":1,"bounds":{"left":0.5880984,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":1,"bounds":{"left":0.59674203,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":1,"bounds":{"left":0.60538566,"top":0.15403032,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":1,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":2,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":1,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":1,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In Project","depth":2,"bounds":{"left":0.2992021,"top":0.1867518,"width":0.022938829,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Module","depth":2,"bounds":{"left":0.32214096,"top":0.1867518,"width":0.019281914,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Directory","depth":2,"bounds":{"left":0.3414229,"top":0.1867518,"width":0.022606382,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Scope","depth":2,"bounds":{"left":0.36402926,"top":0.1867518,"width":0.017287234,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Module","depth":1,"bounds":{"left":0.27027926,"top":1.0,"width":0.099734046,"height":0.0},"on_screen":false,"role_description":"pop up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service","depth":1,"bounds":{"left":0.27027926,"top":1.0,"width":0.1974734,"height":0.0},"on_screen":false,"value":"/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service","role_description":"combo box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/Mailbox","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Events/AutomatedReports","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Http/Controllers","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Events/Nudges","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/Nudges/UserPilot","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Services/Crm/Hubspot","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/Middleware","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/AutomatedReports/UserPilot","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Services/Kiosk/AutomatedReports","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/Crm/Delete","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Services/Crm/Hubspot/ServiceTraits","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Exceptions","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Component/Queue/Job","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Events/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/AutomatedReports","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/Activities/Coaching/UserPilot","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/Activities/ActivityProvider/UserPilot","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Jobs/Activity/PushSummaryToCrm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Repositories/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Http/Controllers/API/UserAutomatedReports","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Services/Crm/Salesforce","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Providers","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Services/Crm/IntegrationApp","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Events/Activities/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/Playbooks","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Console/Commands/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Services/Crm","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Console/Commands/Reports","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/VO/Repository/OnDemandActivitySearch","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Listeners/Activities/Conferences/UserPilot","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Http/Controllers/Webhook","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/resources/views/emails/reports","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Mail/Reports","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Repositories","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Component/ActivitySearch/Service","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/tests/Unit/Services/Crm/Salesforce","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/routes","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/app/Console/Commands","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/jiminny/app/database/migrations","depth":6,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/325d461a-c90f-430a-99d4-6ddfce0c61d7","depth":6,"on_screen":false,"role_description":"text"}]...
|
-6224298565330000851
|
-8369550375815789230
|
idle
|
accessibility
|
NULL
|
Find in Files
100+ matches in 18+ files
File mask: Find in Files
100+ matches in 18+ files
File mask:
*.php
*.php
Auto
*.php
Filter Search Results
Pin Window
Search History
update
New Line
Match case
Words
Regex
Replace History
Replace
New Line
Preserve case
In Project
Module
Directory
Scope
Module
/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service
/Users/lukas/jiminny/app/app/Component/ElasticSearch/Service
/Users/lukas/jiminny/app/app/Jobs/Mailbox
/Users/lukas/jiminny/app/app/Events/AutomatedReports
/Users/lukas/jiminny/app/app/Http/Controllers
/Users/lukas/jiminny/app/app/Events/Nudges
/Users/lukas/jiminny/app/app/Listeners/Nudges/UserPilot
/Users/lukas/jiminny/app/app/Services/Crm/Hubspot
/Users/lukas/jiminny/app/app/Jobs/Middleware
/Users/lukas/jiminny/app/app/Listeners/AutomatedReports/UserPilot
/Users/lukas/jiminny/app/app/Jobs/Crm
/Users/lukas/jiminny/app/app/Services/Kiosk/AutomatedReports
/Users/lukas/jiminny/app/app/Jobs/Crm/Delete
/Users/lukas/jiminny/app/app/Listeners/Crm
/Users/lukas/jiminny/app/app/Services/Crm/Hubspot/ServiceTraits
/Users/lukas/jiminny/app/app/Exceptions
/Users/lukas/jiminny/app/app/Component/Queue/Job
/Users/lukas/jiminny/app/app/Events/Crm
/Users/lukas/jiminny/app/app/Jobs/AutomatedReports
/Users/lukas/jiminny/app/app/Listeners/Activities/Coaching/UserPilot
/Users/lukas/jiminny/app/app/Listeners/Activities/ActivityProvider/UserPilot
/Users/lukas/jiminny/app/app/Jobs/Activity/PushSummaryToCrm
/Users/lukas/jiminny/app/app/Repositories/Crm
/Users/lukas/jiminny/app/app/Http/Controllers/API/UserAutomatedReports
/Users/lukas/jiminny/app/app/Services/Crm/Salesforce
/Users/lukas/jiminny/app/app/Providers
/Users/lukas/jiminny/app/app/Services/Crm/IntegrationApp
/Users/lukas/jiminny/app/app/Events/Activities/Crm
/Users/lukas/jiminny/app/app/Listeners/Playbooks
/Users/lukas/jiminny/app/app/Console/Commands/Crm
/Users/lukas/jiminny/app/app/Services/Crm
/Users/lukas/jiminny/app/app/Console/Commands/Reports
/Users/lukas/jiminny/app/app/VO/Repository/OnDemandActivitySearch
/Users/lukas/jiminny/app/app/Listeners/Activities/Conferences/UserPilot
/Users/lukas/jiminny/app/app/Http/Controllers/Webhook
/Users/lukas/jiminny/app/resources/views/emails/reports
/Users/lukas/jiminny/app/app/Mail/Reports
/Users/lukas/jiminny/app/app/Repositories
/Users/lukas/jiminny/app/app/Component/ActivitySearch/Service
/Users/lukas/jiminny/app/tests/Unit/Services/Crm/Salesforce
/Users/lukas/jiminny/app/routes
/Users/lukas/jiminny/app/app/Console/Commands
/Users/lukas/jiminny/app/database/migrations
/Users/lukas/Library/Application Support/JetBrains/PhpStorm2026.1/consoles/db/325d461a-c90f-430a-99d4-6ddfce0c61d7...
|
35962
|
NULL
|
NULL
|
NULL
|